分页时怎么保留checkbox的选中状态? RT,我用的datalist和aspnetpager除了用session 挨个取出来还有什么简单方法么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 checkbox选中状态会自己记住的 这就是你要的:http://topic.csdn.net/u/20090310/02/bd11de6f-e475-41bf-8097-ad5ea04120c7.html ViewState和Session有什么区别。方法还是一样,只是换了一种方法存。ViewState只在本页面存在Session本站点下所有网页 原理:1、你选中的时候选中了本页的一些或者所有,那么你现在就点分页,2、在分页事件触发先你就遍历你所选中的为true 的值全部保存为一个hastable中,并保存为一个session或者viewstate;3、你分页成功又同理全部加到hastable中键值对应上一页的时候你就遍历你的hastable然后选中为true http://passport.csdn.net/ActivateUser.aspx?from=http%3a%2f%2ftopic.csdn.net%2fu%2f20090329%2f16%2fee8b5fdf-5791-47ae-9b49-d32019c6e55a.html&UserName=qqhavt&Code=4wNDpH%2bLexGRaQP%2bEQA8aKa43XZyrEQ8CxN5TCjs%2fA7dtWQeMdv2L3n34aD%2ft4Ad8MwtG%2fbu2RI%3d 用隐藏域或者是cookies 然后用js装入别用那该死的控件功能,越用越傻... 曾经写过。但不性能如何。感觉很差劲。希望对你有帮助<script language="javascript" type="text/javascript">function setId1(obj){ if(obj.checked) { if(document.all(<%= hidID1.ClientID%>).value =="") { document.all(<%= hidID1.ClientID%>).value = obj.name; } else { document.all(<%= hidID1.ClientID %>).value +=","+obj.name; } } else { var id1 = document.all(<%= hidID1.ClientID %>).value; var[] arr1 = id1.Split(','); var j = 0; for(var i=0;i<arr1.length;i++) { if(arr1[i]==obj.name) { break; } j++; } arr1.splice(j,1); document.all(<%= hidID1.ClientID %>).value = setArr(arr1); }}function setArr(arr){ var strArr for(var i=0;i<arr.length-1;i++) { if(strArr == "") { strArr = arr[0]; } else { strArr +=","+obj.name; } } return strArr}</script><input id="chk" type="checkbox" name="<%# Eval("S_Id") %>" onclick="setId(this)"/> string[] arr1 = hidID1.Value.Split(','); for (int i = 0; i < arr1.Length; i++) { album.AddAlbumMusic(hidSaid.Value, arr1[i].ToString()); } ViewState和session差不多的正如7楼所说:ViewState只在本页面存在 Session本站点下所有网页 恩 我用session 存的 谢谢大家了 js激发事件 纯真IP的问题 “/”应用程序中的服务器错误。 一个怪异的问题:不能打开ACCESS数据库,急,谢! 问各位兄弟一个简单的问题!关于用DATASET操作数据库的! Convert与Parse 有什么区别? RedirectToRoute、RedirectToAction如何指定target ? 以前问题汇总 請問大家:可不可以在代碼中判斷一個字串是否符合正則表達式,而不使用驗証控件 datagrid列的隐藏问题? waitcallback()可以理解为 新建了一个线程么? ascx中事件不起作用的问题
http://topic.csdn.net/u/20090310/02/bd11de6f-e475-41bf-8097-ad5ea04120c7.html
方法还是一样,只是换了一种方法存。
ViewState只在本页面存在
Session本站点下所有网页
1、你选中的时候选中了本页的一些或者所有,那么你现在就点分页,
2、在分页事件触发先你就遍历你所选中的为true 的值全部保存为一个hastable中,并保存为一个session或者viewstate;
3、你分页成功又同理全部加到hastable中键值对应上一页的时候你就遍历你的hastable然后选中为true
function setId1(obj)
{
if(obj.checked)
{
if(document.all(<%= hidID1.ClientID%>).value =="")
{
document.all(<%= hidID1.ClientID%>).value = obj.name;
}
else
{
document.all(<%= hidID1.ClientID %>).value +=","+obj.name;
}
}
else
{
var id1 = document.all(<%= hidID1.ClientID %>).value;
var[] arr1 = id1.Split(',');
var j = 0;
for(var i=0;i<arr1.length;i++)
{
if(arr1[i]==obj.name)
{
break;
}
j++;
}
arr1.splice(j,1);
document.all(<%= hidID1.ClientID %>).value = setArr(arr1);
}
}
function setArr(arr)
{
var strArr
for(var i=0;i<arr.length-1;i++)
{
if(strArr == "")
{
strArr = arr[0];
}
else
{
strArr +=","+obj.name;
}
}
return strArr
}
</script><input id="chk" type="checkbox" name="<%# Eval("S_Id") %>" onclick="setId(this)"/>
string[] arr1 = hidID1.Value.Split(',');
for (int i = 0; i < arr1.Length; i++)
{
album.AddAlbumMusic(hidSaid.Value, arr1[i].ToString());
}
正如7楼所说:
ViewState只在本页面存在
Session本站点下所有网页