现在如何在SelectedIndexChanged上获取复选框的值。
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Panel_Entry.Visible = true;
int i = GridView1.SelectedIndex;
String vDescr = GridView1.Rows[i].Cells[2].Text;
CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("BitStatus");
Response.Write(chk.ToString()+vDescr);}
错误。 请帮忙。
答案 0 :(得分:1)
当你动态添加一个控件时,你应该再次加载控件,它不会在控制树中列出。为了找到它你可以使用一个循环找到它就像在这篇文章中所说的那样 Better way to find control in ASP.NET
另请看这篇文章:它似乎很有用ASP.Net FindControl is not working - How come?
答案 1 :(得分:0)
感谢大家......我找到了解决方案。
CheckBox chk = (CheckBox)GridView1.Rows[i].Cells[3].Controls[0];
if (chk.Checked) { Response.Write("yes"); } else { Response.Write("no"); }
它工作正常。
如果我们使用一些asp:template itemtemplate等,则findcontrol()有效。