我正在尝试创建一个强类型的视图状对象。
public class MyNewPage : ViewStatePage<MyNewPageViewStateStore>
在ViewStatePage的实现中,我正在实例化Store
中的对象this.ViewState["_PageViewState"]
。在派生页面中,我将使用该对象并对其进行更改。
在asp.net页面中调用的最后一个事件仍会影响View State吗?
是Unload
吗?
答案 0 :(得分:6)
在ASP.net页面生命周期中,订单进行(这是短版本):
Preinit - &gt; Init - &gt;加载Viewstate - &gt; 页面加载 - &gt;活动 - &gt; PreRender - &gt; 保存Viewstate - &gt;渲染 - &gt;卸载
在粗体中保留对viewstate进行更改的位置。因此,您必须修改viewstate并将其保留的最后一次机会是PreRender(从技术上讲,您可以处理SaveViewState,这将是您修改viewstate并保存它的最后机会。)
MSDN:http://msdn.microsoft.com/en-us/library/ms178472.aspx#additional_page_life_cycle_considerations
处理SaveViewState:
public partial class MyPage: System.Web.UI.Page
{
protected override object SaveViewState()
{
// manipulate viewstate objects here -- Last Chance
return base.SaveViewState();
}
protected void Page_Load(object sender, EventArgs e)
{
}
}