0

フォームにチェックされていないチェックボックスが存在するかどうかを確認する必要がありました。btnSend_OnClick イベントで検証があります。チェックされていないチェックボックスが1つ存在する場合、メッセージエラーでラベルを有効にします。しかし、他の行があり、それがチェックされている場合、それがどのように foreach であるか、メッセージエラーを表示しないでください! チェックボックスがチェックされていないかどうかを確認し、ユーザーにすぐにメッセージを表示して foreach を停止する検証を C# で構築するにはどうすればよいですか? 私は明確ですか?

私の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>

4

2 に答える 2

0

私はあなたを理解しているかどうかわかりません。ただし、チェックボックスがオフになっていないときにループを停止したい場合は、次のようにします。

if (check.Checked == false && check2.Checked == false)
    {
        lblErrorCheck.Visible = true;
        break;
    }
于 2013-07-23T11:28:24.447 に答える