在尾事件仍会影响页面的ViewState [英] Last event in page that can still affect a page's viewstate

查看:97
本文介绍了在尾事件仍会影响页面的ViewState的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做一个强类型的视图状态对象。

I am trying to make a strongly typed viewstate object.

public class MyNewPage : ViewStatePage<MyNewPageViewStateStore>

在ViewStatePage的实施,我实例化一个对象商店 this.ViewState的[_ PageViewState] 。在导出页面,我会使用该对象并使更改。

In the implementation of ViewStatePage, I am instantiating an object Store out of this.ViewState["_PageViewState"]. In the derived page, I'll be using that object and making changes to it.

什么是所谓的一个asp.net页面最后一个事件还会影响视图状态?
它是卸载

推荐答案

在ASP.net页面生命周期的顺序去(这是短版):

In the ASP.net page lifecycle the order goes (this is the short version):

preINIT - >初始化 - >装载视图状态 - > 网页加载 - >活动 - > preRender - >
  保存视图状态 - >渲染 - >卸载

Preinit -> Init -> Load Viewstate -> Page Load -> Events -> PreRender -> Save Viewstate -> Render -> Unload

在哪里ViewState的变化是持久的地点粗体即可。因此,你必须修改视图状态,并将它坚持了最后的机会为preRender(技术上可以处理与SaveViewState和这将是你最后一次修改视图状态,并将它保存的几率)。

Places where changes to viewstate are persisted in Bold. As a result the last chance you have to modify viewstate and have it persisted is PreRender (technically you could handle SaveViewState and that would be your last chance to modify viewstate and have it saved).

MSDN:<一href=\"http://msdn.microsoft.com/en-us/library/ms178472.aspx#additional_page_life_cycle_considerations\" rel=\"nofollow\">http://msdn.microsoft.com/en-us/library/ms178472.aspx#additional_page_life_cycle_considerations

处理SaveViewState:

Handling 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)
    {

    }
}

这篇关于在尾事件仍会影响页面的ViewState的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆