我需要驗證是否存在未選中的複選框。 我在我的btnSend_OnClick事件中進行了驗證。如果存在一個複選框未選中,它啓用我的標籤與消息錯誤。但是如果我有其他行,並且已經檢查過,它是如何是一個foreach,不要顯示我的消息錯誤! 如何使用C#構建驗證是否存在複選框,並立即向用戶顯示消息並停止我的foreach?我很清楚?驗證CheckBox在foreach中檢查
我的CS:
protected void btnSend_OnClick(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView.Rows)
{
CheckBox check = (CheckBox)row.FindControl("CheckBox1");
CheckBox check2 = (CheckBox)row.FindControl("CheckBox2");
if (check.Checked == false && check2.Checked == false)
{
lblErrorCheck.Visible = true;
}
else
{
}
}
}
我的頁面:
<body>
<form id="form1" runat="server">
<div>
<div class="control-group error">
<asp:Label ID="lblErrorCheck" runat="server" class="control-label" for="inputError"
Visible="false">Please, check a checkbox for each folder!</asp:Label>
</div>
<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="false" GridLines="None"
CssClass="table table-bordered table-striped">
<Columns>
<asp:BoundField DataField="AccessGroup" HeaderText="Access Group" />
<asp:TemplateField HeaderText="Access Type">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Text="Access to Read" OnCheckedChanged="CheckBox1_ChangeCheck"
AutoPostBack="true" />
<asp:CheckBox ID="CheckBox2" runat="server" Text="Access to Modify" OnCheckedChanged="CheckBox2_ChangeCheck"
AutoPostBack="true" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="btnSend" class="btn btn-large" runat="server" Text="Send Request Access"
OnClick="btnSend_OnClick" align="left" />
</div>
<div align="center" style="width: auto; height: auto;">
<asp:HyperLink ID="HyperLink2" runat="server" ImageUrl="~/image/home_back_48.png"
NavigateUrl="~/home.aspx">homepage</asp:HyperLink>
</div>
</form>
Tks for your help!它適用於一個複選框。我使用6行進行測試,並且當我最後一個checkBox取消選中時,發送無誤。這是錯誤的,在這種情況下,顯示我的錯誤。 – CaioVJesus89
這只是在第一次Foreach負載工作。 – CaioVJesus89
是拋出異常還是給出一些其他錯誤。該代碼工作在'click'按鈕上,然後可能會在'取消選中'複選框上拋出錯誤。請詳細說明您的問題。 –