[英]Can't get checkbox value in datagrid ASP.NET
I have a DataGrid which has Checkboxes which are used to select certain users. 我有一个DataGrid,其中包含用于选择某些用户的复选框。 When Ok button is clicked, I should get the state of checkbox, and if checked get ID of the row.
单击确定按钮时,我应该获得复选框的状态,如果选中,则应获得该行的ID。 I get to the checkbox, but value is always Checked = false, even when I check my checkbox, of course.
我进入了复选框,但是,即使我选中了复选框,其值也始终为Checked = false。 Code is below:
代码如下:
.aspx .aspx
<Columns>
<asp:TemplateColumn HeaderText="Odabir">
<ItemTemplate>
<asp:CheckBox ID="chkVjezba" runat="server" Enabled="true"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn HeaderText="Vježba" DataField="Naziv"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Broj serija">
<ItemTemplate>
<asp:TextBox ID="brojSerija" runat="server" Width="20px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Ocjena 6">
<ItemTemplate>
<asp:TextBox ID="ocjena6" runat="server" Width="20px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Ocjena 7">
<ItemTemplate>
<asp:TextBox ID="ocjena7" runat="server" Width="20px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Ocjena 8">
<ItemTemplate>
<asp:TextBox ID="ocjena8" runat="server" Width="20px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Ocjena 9">
<ItemTemplate>
<asp:TextBox ID="ocjena9" runat="server" Width="20px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Ocjena 10">
<ItemTemplate>
<asp:TextBox ID="ocjena10" runat="server" Width="20px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
My .cs Code File: 我的.cs代码文件:
foreach (DataGridItem row in vjezbeGrid.Items)
{
if (((CheckBox)row.Cells[0].FindControl("chkVjezba")).Checked)
{
//something
}
}
Thanks. 谢谢。
Try like this 这样尝试
foreach (DataGridItem row in vjezbeGrid.Items)
{
if (row.ItemType == ListItemType.Item)
{
CheckBox chkVjezba = (CheckBox)row.FindControl("chkVjezba");
if (chkVjezba.Checked)
{
//something
}
}
}
You might databind on every postback. 您可能会在每次回发中进行数据绑定。 Make sure that you databind only if !Page.IsPostBack.
确保仅当!Page.IsPostBack时才进行数据绑定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.