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 属性的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 2.0 Razor 页面使用 AddMvcCore() 而不是 AddMvc()

Asp.Net 2.0 PostBackUrl 的问题

如何使用 asp.net core 2.0 Razor 页面执行下载操作

如何在 ASP.NET Core 2.0 Razor 页面中填充下拉列表

如何使用 Url.Action 在 asp.net core 2.0 razor 页面中传递多个操作

asp.net 2.0设置了session,关闭页面就自动消失了。session timeout设置是30分钟的。很奇怪的一个问题