将SavePageStateToPersistenceMedium()用于主页ASP.NET

问题描述 投票:0回答:2

请参阅主题http://www.codeproject.com/KB/viewstate/SaveViewState.aspx。本主题演示如何将ViewState通过服务器保存到文件系统,以使往返时的ViewState非常小。作者通过继承System.Web.UI.Page创建了一个BasePage类,所有页面均派生自此类。

我正在开发的网站使用母版页,所有页面均源自该母版页。当我尝试覆盖SavePageStateToPersistenceMedium()时,生成编译错误,指示System.Web.UI.MasterPage中没有此类方法可以覆盖。

我该如何解决这个问题?

asp.net viewstate page-lifecycle
2个回答
2
投票

我找到了解决方案。实际上,aspx页是从System.Web.UI.Page派生的,而母版页是从Control类派生的。那里的方法SavePageStateToPersistenceMedium()在aspx页面中仅在母版页中不可用。您必须在每个aspx页面中覆盖此方法,或者创建从Page类派生的自己的基类,然后覆盖该方法。


1
投票

使用PageStatePersister覆盖将是在不需要基类的情况下更改所有页面上的ViewState持久性机制的简便方法。

Milan Negovan使用PageStatePersister在不同的选项上写了很好的blog post,并带有一些其他链接。

© www.soinside.com 2019 - 2024. All rights reserved.