C# 如何检查gridviewrow中是否选中了复选框

C# 如何检查gridviewrow中是否选中了复选框,c#,checkbox,gridview,webforms,gridviewrow,C#,Checkbox,Gridview,Webforms,Gridviewrow,我需要有关此代码的帮助,如果选中或未选中复选框,我将检查GridView中的每一行。但仍然存在错误。你能帮帮我吗 <asp:GridView ID="GridView1" CssClass="tabulka" runat="server" AutoGenerateColumns="false" /> <Columns> <asp:TemplateField HeaderText="Placení">

我需要有关此代码的帮助,如果选中或未选中
复选框,我将检查
GridView
中的每一行。但仍然存在错误。你能帮帮我吗

<asp:GridView ID="GridView1" CssClass="tabulka" runat="server" AutoGenerateColumns="false" />
        <Columns>
            <asp:TemplateField HeaderText="Placení">
                <ItemTemplate>
                    <asp:CheckBox ID="Poslano" runat="server" Text="Vyřešeno"  />
                    <asp:HiddenField ID="id" runat="server" Value='<%# Eval("id").ToString() %>' />
                </ItemTemplate>
            </asp:TemplateField>

         </Columns>
        <FooterStyle BackColor="#CCCCCC" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
    </asp:GridView>





protected void Button1_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow gvRow in GridView1.Rows)
        {
            if (((CheckBox)gvRow.FindControl("Poslano")).Checked) // here is a problem - still false
            {
                Tabor tab = new Tabor();

                tab.Id = Convert.ToInt32(((HiddenField)gvRow.FindControl("id")).Value); // here is good value

            }
        }
    }

受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
foreach(GridViewRow gvRow在GridView1.Rows中)
{
if(((复选框)gvRow.FindControl(“Poslano”).Checked)//这里有一个问题-仍然是false
{
Tabor tab=新Tabor();
tab.Id=Convert.ToInt32(((HiddenField)gvRow.FindControl(“Id”)).Value);//这是一个很好的值
}
}
}

我很久没有使用WebForms了。但是我认为你需要确认回发的问题,看到了吗?你确定要在点击按钮之前选中复选框吗?另一件重要的事情是页面加载的主体。如果在
页面加载中填写
网格视图
,则必须在
中填写
代码(!IsPostBack)
。你们能给我们看看页面加载的主体吗?嗨,伙计们,问题解决了!埃尔德尼兹-你说得对!它位于(!IsPostBack)部分的页面加载中。你让我开心!:)自从我不使用WebForms以来,它已经过去了很长一段时间。但是我认为你需要确认回发的问题,看到了吗?你确定要在点击按钮之前选中复选框吗?另一件重要的事情是页面加载的主体。如果在
页面加载中填写
网格视图
,则必须在
中填写
代码(!IsPostBack)
。你们能给我们看看页面加载的主体吗?嗨,伙计们,问题解决了!埃尔德尼兹-你说得对!它位于(!IsPostBack)部分的页面加载中。你让我开心!:)嗨,莫希特,谢谢你的帮助,我用另一种方式解决问题。嗨,莫希特,谢谢你的帮助,我用另一种方式解决问题。
    Pleae check with below code

   foreach(var gvItem in GridView1.Items)
    {
      CheckBox chkItem = (CheckBox) gvItem.FindControl("Poslano");
      if (chkItem.Checked)
     {
       //Do stuff
     }
    }