我用javascript在客户端上改变了一个ListBox的属性disabled
然后我按下一个服务器的按钮进行了一些数据库操作.
这个ListBox的disabled属性又变成了原来初始化时候的样子,请问要怎么才可以保存到它的状态呢?
然后我按下一个服务器的按钮进行了一些数据库操作.
这个ListBox的disabled属性又变成了原来初始化时候的样子,请问要怎么才可以保存到它的状态呢?
解决方案 »
- 如果获取asp页面动态生成控件的点击事件?
- 明天要交差,现在还没做出来,清高手帮忙
- win7下装了IIS7 后连接不到数据库
- ajax的UpdatePanel放在masterPage里面,alert怎么写?
- 送分,Webservers的注释怎么写
- UploadFile 函数上传出现问题
- 急!!!vs2008和SQL2005的在线考试系统
- 有關在Datagrid的分頁的問題.求解
- treeview中的selectedNode为什么不能用????
- 如何使用C#+ASP.NET创建数据表(DataGrid)???请各位高手指点!!!
- 大侠们救救我,谁有数据库注册系统的实例给我一个
- Freetextbox3.0 问题
ViewState[ListBoxID.disabled] = false;
只要不退出本页面,包括刷新页面,它都不会丢失
如果是,加上
if( !Page.IsPostBack )
{
ListBox.Enable = false;}
客户端用脚本定义的控件的样式或其他属性,在服务端不予承认,而且页面刷新之后,这些属性或样式自动丢失,我们只能通过一些间接的手段来控制它.
你可以在页面放一个文本框,在脚本改变下拉框属性时,把属性结果值放在输入框里面,在页面刷新的时候,重新在page_load里面对该控件做属性变化.脚本
document.all("DropDownList2").disabled = true;
document.all("TextBox1").value = "true";page_load()
this.DropDownList2.Attributes.Add("disabled",this.TextBox1.Text);
1、在设置控件属性的同时,在后面同时加上一个cookie
document.frm.lstbox_SelectStore.disabled=false;
document.cookie = 'lstbox_SelectStore=' + escape('false')+';';
2、同时增加两个取cookie值的函数。便于下次页面刷新后调用。这两个函数是
//*********获取指定的Cookie的值***********
function getCookie(cookieName) {
var cookieString = document.cookie;
var start = cookieString.indexOf(cookieName + '=');
// 加上等号的原因是避免在某些 Cookie 的值里有
// 与 cookieName 一样的字符串。
if (start == -1) // 找不到
return null;
start += cookieName.length + 1;
var end = cookieString.indexOf(';', start);
if (end == -1) return unescape(cookieString.substring(start));
return unescape(cookieString.substring(start, end));
}
//******************保持上一次的状态***********************************
function SaveState(object,CookieName){
var s=object;
if (getCookie(CookieName)=='false'){
s.disabled=false;
}
if (getCookie(CookieName)=='true'){
s.disabled=true;
}
}
3、在HTML页面的最下面添上调用的语句
SaveState(document.frm.lstbox_SelectStore,'lstbox_SelectStore');完成