AJAX回发和页面生命周期

时间:2009-05-19 08:25:52

标签: ajax postback partial lifecycle

有人可以解释一下它是如何运作的。

我有一个页面,其中包含更新面板内的按钮和一些类成员(_pageContext)。 顺便说一句,它不是静态成员 这是它的宣言

    internal PageContext _pageContext = null;

当我点击按钮时,会发生下一个事件(我跟踪他们制作断点)

1)页面构造函数。在断点处_pageContext == null,好的 2)OnInit()。这里奇怪的事情开始了。 _pageContext已经初始化(虽然它的初始化方法也是断点,并且该断点从未被命中过。)

它是如何发生的以及页面类的新实例可以从哪里知道这个_pageContext,尽管它从未被初始化过?有意义的是,在On_Init部分回发中恢复了前一个类实例,尽管由于HTTP是无状态且浏览器与服务器类实例没有连接而无法实现。

对这个超自然事实的任何建议和解释?

1 个答案:

答案 0 :(得分:0)

HTTP确实是无状态的。 ASP.NET WebForms通过巧妙地使用ViewState来抽象远离您的东西。听起来像pageContext正在ViewStated存在 - look at this for more info

如果一开始并不明显,请不要担心 - 理解生命周期并不容易。新加坡国立大学医院,嗯。