C# 验证在foreach中选中的复选框
我需要验证表单中是否存在未选中的复选框。 我在btnSend_OnClick事件中进行了验证。如果有一个复选框未选中,它将启用带有消息错误的“我的标签”。但是如果我有其他行,并且它被检查了,它是一个foreach,不要显示我的mesage错误! 如何在C#中构建验证,验证是否存在未选中的复选框,并立即向用户显示消息并停止我的foreach?我明白了 我的政务司司长:C# 验证在foreach中选中的复选框,c#,asp.net,.net,C#,Asp.net,.net,我需要验证表单中是否存在未选中的复选框。 我在btnSend_OnClick事件中进行了验证。如果有一个复选框未选中,它将启用带有消息错误的“我的标签”。但是如果我有其他行,并且它被检查了,它是一个foreach,不要显示我的mesage错误! 如何在C#中构建验证,验证是否存在未选中的复选框,并立即向用户显示消息并停止我的foreach?我明白了 我的政务司司长: protected void btnSend_OnClick(object sender, EventArgs e) {
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>
请选中每个文件夹的复选框!
主页
我不知道我是否理解你。但是,如果希望在未选中复选框时停止循环,请使用以下选项:
if (check.Checked == false && check2.Checked == false)
{
lblErrorCheck.Visible = true;
break;
}
试试这个
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 && !check2.Checked)
{
lblErrorCheck.Visible = true;
break;
}
}
}
希望对你有帮助
中断这里的code>子句告诉循环在到达该行时停止。
了解更多详细信息。谢谢您的帮助!它只对一个复选框起作用。我用6行代码进行测试,当我未选中最后一个复选框时,发送不会出错。在这种情况下,显示我的错误是错误的。它是引发异常还是引发其他错误。该代码正在处理单击按钮的,然后如何可能在取消选中复选框时引发错误。请详细说明您的问题。