[Asp.net / Vb.Net] 如何使用Javascript验证我的gridview页脚复选框。
我有一个带有页脚的gridview,有8个复选框 - (chkActive1,chkActive2,..... chkActive3) - 我想要jave的条件是 - 用户需要检查至少1个复选框,否则trasaction将不允许
感谢..
答案 0 :(得分:0)
如此简单,每个复选框都有唯一的id检查视图源,当你检查该页面的viewsource时,控件名称中有一些专利,只需使用它,简单的方法。
答案 1 :(得分:0)
如果我误解了你那么请纠正我,我想这可以通过在asp.net中使用自定义验证器来完成 既然你没有提到我假设你正在使用CheckBoxList控件。
在.aspx页面上使用自定义验证程序
<asp:CustomValidator ID="customValidatorForCheckboxlist" runat="server"
ErrorMessage="Required Field" ValidationGroup="valSurvey"
OnServerValidate="CheckifCheckBoxIsEmpty" SetFocusOnError="true" Display="Dynamic"></asp:CustomValidator>
在codebhind上使用此逻辑迭代gridview行并检查页脚行。内部页脚行遍历所有复选框,然后查看它们是否被选中。我使用布尔字段来检查是否选择了任何内容。如果选择了任何内容,则跳出。
Protected Sub CheckifCheckBoxIsEmpty(ByVal sender As Object, ByVal e As ServerValidateEventArgs)
Dim valbool As Boolean = False
For Each gvrow As GridViewRow In gridview_1.Rows
'Check for footer row.
If gvrow.RowType = DataControlRowType.Footer
For Each ct As Control In gvrow.Cells(1).Controls
If ct.GetType.ToString().Equals("System.Web.UI.WebControls.CheckBoxList") Then
Dim _checkboxlist As CheckBoxList = DirectCast(ct, CheckBoxList)
For Each ListItem1 As ListItem In _checkboxlist.Items
If ListItem1.Selected = True Then
valbool = True
Exit For
Else
valbool = False
End If
Next
End If
Next
End If
Next
If valbool = False Then
e.IsValid = False
Else
e.IsValid = True
End If
End Sub