Asp.net Datagrid复选框列无法访问复选框值

Asp.net Datagrid复选框列无法访问复选框值,asp.net,datagrid,Asp.net,Datagrid,出于某种原因,即使我选中datagrid(asp.net)控件中的复选框并单击linkbutton,但当我读取复选框值时。它说未经检查 <asp:TemplateColumn HeaderText="Selection"> <ItemTemplate> <asp:CheckBox id="chkSelect" runat="server" /> </ItemTemplate>

出于某种原因,即使我选中datagrid(asp.net)控件中的复选框并单击linkbutton,但当我读取复选框值时。它说未经检查

  <asp:TemplateColumn HeaderText="Selection">
            <ItemTemplate>
            <asp:CheckBox id="chkSelect" runat="server" />
            </ItemTemplate>            
            </asp:TemplateColumn>     

     For Each dgi As DataGridItem In dgReceipts.Items

                Dim isChecked As Boolean = TryCast(dgi.FindControl("chkSelect"), CheckBox).Checked

    next 

对于每个dgi作为dgReceipts.Items中的DataGridItem
Dim被选中为Boolean=TryCast(dgi.FindControl(“chkSelect”),复选框)。选中
下一个
更新1:


我还尝试访问textbox列的值,并解决了相同的问题。值显示为空。

如何绑定GridView?您是否仅在页面未发回时绑定?如果您正在绑定(例如,在页面加载事件中)而未检查回发,回发将取消您的选择。如果看不到更多的代码,就很难确定确切的原因,但通常不检查绑定中的回发是此类问题的根本原因。

您可能有多行带有复选框,并且其中一行显示为false,或者正在重新绑定网格。您必须添加更多代码才能确认

您正在init或load中重新绑定。我检查了我没有绑定init或load。请添加更多代码。您没有提供足够的信息来诊断问题。我没有在页面加载中绑定。用户单击搜索按钮,然后显示网格。之后,用户选中复选框并按下另一个linkbutton触发click事件。在那里,我尝试访问选中的复选框和文本框值,它会返回默认值,如false和String.empty,甚至在选中所有复选框时也会出现这种情况。我弄错了!