I am assigning ViewState["something"] in Page Load of content page and when I try to access the ViewState variable in Master Page Load event handler, the viewstate variable is lost.Can anyone guide me why this is happening and the solution.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Master pages and content pages do not share the same ViewState.
If you are trying to pass something from the content page to the master page there are a couple of alternatives:
- use this.Context.Items that is common to the entire site during an HTTP request
- make a public property on the master page, cast this.Master from the content page to the master page class and set the property
- use Session
回答2:
Maybe (just found it on the web) this is a hint to the solution:
Unless the MasterPage has its ViewState turned on, all controls below it would lose their state.
Found this in a blog post titled MasterPage and viewstate issue. Could it have something to do with the Viewstate being turned off in the master page?