[javascript]验证Gridview页脚复选框

时间:2011-08-02 12:40:21

标签: asp.net vb.net

[Asp.net / Vb.Net] 如何使用Javascript验证我的gridview页脚复选框。

我有一个带有页脚的gridview,有8个复选框 - (chkActive1,chkActive2,..... chkActive3) - 我想要jave的条件是 - 用户需要检查至少1个复选框,否则trasaction将不允许

感谢..

2 个答案:

答案 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