在ASP.NET GridView中未选中CheckBox

时间:2018-11-25 17:12:55

标签: c# asp.net webforms

我有一个项目,试图在kafka-consumer-groups.sh中检查 CheckBox 控件。不幸的是,每当我这样做时,就永远不会对其进行检查,并且每次都会返回false。所以这是到目前为止我尝试过的代码:

ASP.NET

GridView

C#

<asp:GridView ID="grdAssignMenu" runat="server" AutoGenerateColumns="False" CssClass="custListTBL" Height="298px" Width="324px">
      <Columns>
            <asp:TemplateField>
                  <ItemTemplate>
                       <asp:CheckBox ID="chkControl" runat="server" />
                  </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Menu Name">
                  <ItemTemplate>
                       <asp:Label ID="lblMenu" runat="server" Text='<%# Eval("roleName").ToString() %>'></asp:Label>
                  </ItemTemplate>
            </asp:TemplateField>
      </Columns>
</asp:GridView>

基本上,我想从protected void btnSave_Click(object sender, EventArgs e) { foreach (GridViewRow row in grdAssignMenu.Rows) { System.Web.UI.WebControls.CheckBox cb = (System.Web.UI.WebControls.CheckBox)row.FindControl("chkControl"); bool status = cb.Checked; if (cb.Checked) //Returns false every time, even though checked { System.Web.UI.WebControls.Label lbl = (System.Web.UI.WebControls.Label)row.FindControl("lblMenu"); string lblValue = lbl.Text; lblMsg.Text = lblValue; } } } 中检索已检查的关联数据,并确保上面的代码有效。但是卡住了,任何建议都是非常可取的。

1 个答案:

答案 0 :(得分:1)

如果尚未绑定网格视图,请尝试使用(!IsPostBack)。每次aspx页面回传到代码时,都有可能刷新gridview。另外,如果这样做没有帮助,请共享页面加载代码或绑定gridview的代码。