Asp.net Datagrid复选框列无法访问复选框值
出于某种原因,即使我选中datagrid(asp.net)控件中的复选框并单击linkbutton,但当我读取复选框值时。它说未经检查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>
<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,甚至在选中所有复选框时也会出现这种情况。我弄错了!