我有一个带复选框的GridView。如果我单击一个复选框,我想获取该行中的值。 问题是chk(在C#代码中)永远不会得到值" true"所以代码永远不会进入if语句。
感谢您的帮助。我现在在这个问题上度过了两个晚上。
C#
protected void btnChange_Click(object sender, EventArgs e)
{
string id= "";
string name = "";
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox chk = (CheckBox)row.FindControl("myCheckBox");
if (chk != null && chk.Checked)
{
id = row.Cells[1].Text;
name = row.Cells[2].Text;
}
}
}
ASP.NET
<div style="height:200px; width:450px; overflow:scroll;">
<asp:GridView ID="GridView1" runat="server" GridLines="Horizontal" HeaderStyle-BackColor="#FFF8C6" HeaderStyle-ForeColor="Black" Height="200px" Width="450px">
<HeaderStyle HorizontalAlign="Left" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="myCheckBox" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
答案 0 :(得分:0)
问题解决了! 我找到了这个解决方案:
试试这个:
检查你是否已将用于绑定数据的代码放入
中的GridViewIf (!IsPostBack)
{
//Code for Binding Data to GridView
}