protected void Page_Load(object sender, EventArgs e)
{
CheckBox cd = (CheckBox)GridView1.Rows[0].FindControl("CheckBox1");
cd.Checked = true;
}
大家帮忙看下上面的代码,,这是我随便写的一个测试,,是在用GridView的时候,添加了里面放checkbox的模板列,然后在page_load事件里面让每次页面加载的时候让第一页第一行的checkbox被选中,但不知为什么只是页面第一次运行时可以被选中,,当先点击其它页,然后再点击第一页的时候checkbox却不能被选中,,我已经使用了单步调试发现当再次点第一页的时候page_load的代码是走的,但就是不能被选中。。
首先,按照你的思路,在Page_Load()里面 是必须加
if(!IsPostBack)
{
CheckBox cd = (CheckBox)GridView1.Rows[0].FindControl("CheckBox1");
cd.Checked = true;
}
还有就是我觉得没必要在服务器端去 checked=true
jQuery:
$(document).ready(function(){
$("@GridView1 input[@type=checkbox]")[0].attr("checked",true);
});
采用视图状态ViewState来控制,因为Web应用程序是无状态的,在每次网页往还过程中将会丢失所有与该页面相关联的信息。
要想得到你要的那种效果,应该在RowDataBound是完成!