繁体   English   中英

如何从asp.net中的多个选中的复选框中获取值?

[英]How to get values from multiple checked checkboxes in asp.net?

我有一组没有名称的输入复选框,我想从gridview中获取那些我仅检查过的值,如何实现呢? 我真的很难完成它(BtnAdd_Click)。 也许你可以帮忙吗? 下面是.aspx和.aspx.cs代码:

    <asp:GridView ID="GvModules"
        AutoGenerateColumns="False"
        AllowSorting ="True"
        OnSorting="GvModules_Sorting"
        runat="server"
        CssClass="table table-bordered table-striped table-condensed table-hover table-responsive" OnSelectedIndexChanged="GvModules_SelectedIndexChanged">
        <Columns>
            <asp:BoundField DataField="moduleid" HeaderText="Module ID" />
            <asp:BoundField DataField="module_name" HeaderText="Module Name" />
            <asp:BoundField DataField="descriptions" HeaderText="Module Descriptions" />
            <asp:BoundField DataField="msa_DateTime" HeaderText="Start Date/Time" />
            <asp:TemplateField HeaderText="Check To Indicate">
                <ItemTemplate>
                    <asp:CheckBox ID="ChkAdd"
                        runat="server"
                        Text=""
                        CommandArgument='<%#Eval("moduleid") %>'
                        OnCommand="ChkAdd_Command"
                        OnClientClick='<%# "javascript:return confirm(\"Add [" + Eval("module_name") + "]\");"  %>' />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
</div>
<div class="form-group">
    <div class="col-sm-offset-3 col-sm-9">
        <asp:Button ID="BtnAdd" CssClass="btn btn-default" Text="Indicate" OnClick="BtnAdd_Click" runat="server" />
    </div>

</div>
<div class="row">
    <hr />
    <asp:Literal ID="LtlSchool" runat="server" />
</div>

这是按钮单击事件:

 protected void BtnAdd_Click(object sender, EventArgs e)
            {

            }

您可以在gridview上应用迭代以获取选定的复选框值:

protected void BtnAdd_Click(object sender, EventArgs e)
            {
foreach (GridViewRow r in GvModules.Rows)
            {
                //Find the checkbox in the current row 
                CheckBox chk = (CheckBox)r.FindControl("ChkAdd");


                if (chk!=null && chk.Checked)
                {
                    //code when checkbox checked
                }
            }
      }

我做到了,但是当我进入下一页时没有显示任何值。

            if (chk!=null && chk.Checked)
            {
                Response.Redirect("AssociateIndication.aspx");
            }
        }
    }

在按钮事件中尝试以下操作:

protected void BtnAdd_Click(object sender, EventArgs e)
{
    foreach (GridViewRow gvr in GvModules.Rows)
    {
        CheckBox chk = (CheckBox)gvr.FindControl("ChkAdd");

        if (chk.Checked == true)
        {
           // do something here if checkbox is checked

        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM