我在Page_Load中初始化了viewstate["s1"]的值,在另外某个事件RefreshClick中改变了viewstate["s1"]的值。后来,我调试程序,发现值居然没有改变,还是我在Page_Load中设置的值,真是奇怪。
请问:viewstate是不是在ajax没用了?另外在RefreshClick事件中我加了一句:“GridPanel1.Reload(); ”虽然我发现这句不解决问题我删除了,但是我发现一件奇怪的事情, 程序执行后调用了page_load,再调用了RefreshClick,这我觉得正常,但是它又调用了page_load一遍,真是搞不懂。是不是Reload()专为客户端设计的?
请问:viewstate是不是在ajax没用了?另外在RefreshClick事件中我加了一句:“GridPanel1.Reload(); ”虽然我发现这句不解决问题我删除了,但是我发现一件奇怪的事情, 程序执行后调用了page_load,再调用了RefreshClick,这我觉得正常,但是它又调用了page_load一遍,真是搞不懂。是不是Reload()专为客户端设计的?
解决方案 »
- 怎么让gridview按照数字的大小排列
- 关于同一个页面,不同外部css样式调用
- textbox批量插入数据
- 这个比较难的... WebRequest的使用问题(之前分忘记加100了)
- 如何用js获取GridView中CheckBox 被选中的其它字段的内容?
- 如何把从XML中取出的内容放到自定义的方法中??
- 文件上传下载问题
- 是不是web开发中javascript非常重要,为什么?
- DataAdapter中的AcceptChangesDuringFill和ContinueUpdateOnError到底有什么用?
- JS读取不到控件值的原因?
- 请问一个datalist的datakey问题
- ASP.NET中使用input file上传问题
而get或post页面
都会执行到Page_Load方法,这是asp.net页面定义的事件顺序
IsPostBack指示当前是Post回发页面
IsCallBack指示当前是回调页面(注:如果是自己写的XmlHttp,这个值就不准确了)
是否加了
if(!IsPostBack)
{
Id="";
}
public string Id
{
get{ return ViewState["Id"].ToString();}
set{ ViewState["Id"]=value;}
}
执行其他操作,页面回传会执行Page_Load
我试下来,觉得viewstate没用了。
2.reload后,服务器端控件又变化了一次,当然要重新执行page_load事件