GridView CheckBox 联用 在分页后 怎样保存CheckBox选中的状态. 你怎么解决的,提供个代码行不

2024-12-23 14:11:49
推荐回答(2个)
回答1:

准备:一个隐藏控件

写一个js方法在CheckBox选择的时候触发,将GridView里该行的数据ID绑定到CheckBox的Value上(如果该行数据没有ID,则可以记录选中的CheckBox在GridView中的索引--即它是第几个CheckBox及页数),将CheckBox被选中的Value存放到隐藏控件里:如"no1,no2,no3..."(如果这里没有ID,则把页数及索引存入隐藏控件里:如1:1,3,4|2:5,7,8,9 即 页数:选定的CheckBox索引 并用"|"隔开)
然后每次翻页的时候,在后台触发一个事件将隐藏控件的值传给一个Session或者ViewState来进行记录。
然后在每次加载页面的时候在Page_Load写入用记录的Session或者ViewState给隐藏控件赋值,再用Js方法遍历隐藏控件值并根据里面存的ID(页数:索引)选中相应的CheckBox。

这就是大概的思路,代码我就不具体写了,点到即止

回答2:

你的意思是比如在第一页选中了,翻页到第二页了然后再返回第一页,第一页中选中的文本框还是选中的?我是这样做的,应为我的checkbox绑定的是唯一标识(不一定就是主键),所以我每次都把这个唯一标识带到请求里,遇到匹配的就绑定。或者直接写到cookie里面,更简单。个人建议还是使用cookie的方法。