あなたが誤解して私を修正してください、これはasp.netのカスタムバリデーターを使って行うことができると思います。 あなたはあなたがCheckBoxListコントロールを使用していると仮定しています。 codebhindで
た.aspxページの使用カスタムバリデータで
<asp:CustomValidator ID="customValidatorForCheckboxlist" runat="server"
ErrorMessage="Required Field" ValidationGroup="valSurvey"
OnServerValidate="CheckifCheckBoxIsEmpty" SetFocusOnError="true" Display="Dynamic"></asp:CustomValidator>
あなたの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