首页 新闻 会员 周边 捐助

关于GridView中的checkbox选中

0
悬赏园豆:15 [已关闭问题] 关闭于 2008-12-25 23:52

    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的代码是走的,但就是不能被选中。。

问题补充: iIMax你的答案还是不行啊,,我的意思是当你点击其它页之后然后再点击第一页,这时候让第一页第一行中的checkbox仍然是选中状态,,你的答案也只是能第一次显示页面的时候可以选中,,当切换页面后再回来,checkbox就不能选中了 16:09 睡了一觉,突然明白了,原来在load事件里面设置了选中状态后,,紧接着就执行了GridView的数据绑定事件,所以说在load事件里面的设置是没有效果的,,应该在GridView的DataBound事件里面写。。
胡言乱语的主页 胡言乱语 | 初学一级 | 园豆:35
提问于:2008-12-25 13:57
< >
分享
所有回答(3)
0

首先,按照你的思路,在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);
});

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2008-12-25 14:04
0

采用视图状态ViewState来控制,因为Web应用程序是无状态的,在每次网页往还过程中将会丢失所有与该页面相关联的信息。

sl2008 | 园豆:407 (菜鸟二级) | 2008-12-25 16:09
0

要想得到你要的那种效果,应该在RowDataBound是完成!

F_Rock | 园豆:205 (菜鸟二级) | 2008-12-25 17:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册