Asp.net 2.0 页面加载序列和 SqlPagePersister 属性

Posted

技术标签:

【中文标题】Asp.net 2.0 页面加载序列和 SqlPagePersister 属性【英文标题】:Asp.net 2.0 Page Load sequence and SqlPagePersister property 【发布时间】:2010-02-02 23:38:27 【问题描述】:

我有 2 个 aspx 页面。它们都使用相同的 MasterPage,并且它们都继承自 System.Web.UI.Page 类型的相同基类“BasePage”。我覆盖了 BasePage 上的 SqlPagePersister 属性。对于 1 页,这可以正常工作,而对于其他页面则不行。我看到的事件顺序是这样的:

A页:

MasterPage 初始化 页面加载 SqlPagePersister 属性的检索

B页:

SqlPagePersister 属性的检索 MasterPage 初始化 页面加载

为什么设置相同的 2 个页面会乱序调用这些方法?有什么办法可以解决这个问题?

【问题讨论】:

【参考方案1】:

页面 B 的事件序列不能在 ASP.Net 页面的生命周期中发生。母版页初始化和页面加载必须处于“重新启动”状态。您可能希望查看被分流到页面 B 的任何先前页面操作,因为初始化/加载必须在检索开始之前发生。

在页面 B 属性检索之前必须发生一些操作,但这并不意味着您必须在调试中使用正常的临时断点来捕获它。您可能需要发挥创造力并从基类的 PreInit 开始。

【讨论】:

以上是关于Asp.net 2.0 页面加载序列和 SqlPagePersister 属性的主要内容,如果未能解决你的问题,请参考以下文章