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





0/5 (0投票)
本文档介绍了如何在 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 中,以便在代码后台访问以对这些选定的值执行某些操作。