65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 JavaScript 验证并记住网格控件中选定的复选框的值

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 10 月 11 日

CPOL

1分钟阅读

viewsIcon

5440

本文档介绍了如何在 DataGrid/GridView 等控件中的复选框上进行验证,并同时记住所选复选框的值。这将

本文档介绍了如何在 DataGrid/GridView 等控件中的复选框上进行验证,并同时记住所选复选框的值。这将使执行速度更快,因为我们无需使用网格控件的 FindControl 方法。

我一直需要这个功能,并且在几乎每个项目中都使用了这种方法。

//ASPX 代码

<asp:GridView runat="server" AutoGenrateColumns="false">

<Columns>

<asp:TemplateField HeaderText="选择">

<ItemTemplate>

<input type="checkbox" id="chk_<%#Eval("id")%>" value="<%#Eval("id")%>" />

</ItemTemplate>

</asp:TemplateField>

...... (其他列模板)

</Columns>

</asp:GridView>

示例:假设在控制面板中,我们正在网格控件中显示网站的注册用户。我们希望通过选中适当的复选框来提供激活/停用/删除这些用户的功能。

//JavaScript 代码

function getCheckboxSelection()
{
    var strID="";
    for (i=0; i < document.forms[0].elements.length; i++)
    {
        if ((document.forms[0].elements[i].type == 'checkbox') && (document.forms[0].elements[i].id.indexOf(ObjID) > -1))
        {
            if (document.forms[0].elements[i].checked == true)
            strID += document.forms[0].elements[i].value+",";
        }
    }
    if(strID!="") strID = strID.substring(0,strID.length-1);
    return strID;
}

如果 strID 为空字符串,则我们可以显示错误消息,例如“未选择任何复选框”,否则我们可以将 strID(所选复选框的逗号分隔值)存储在 aspx 页面的 HiddenField 中,以便在代码后台访问以对这些选定的值执行某些操作。

 

 

© . All rights reserved.