对主页面ASP.NET使用SavePageStateToPersistenceMedium()

时间:2009-10-30 06:12:19

标签: asp.net viewstate

VS 2005,ASP.NET with C#,Windows XP,II6

您好,

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

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

你们有没有想法,我怎么能解决这个问题。

非常感谢您的帮助。

谢谢和问候 伊尔凡

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

使用PageStatePersister覆盖将更容易在所有页面上更改ViewState持久性机制,而无需基类。

Milan Negovan使用PageStatePersister在不同的选项上写了一个很好的blog post,还有一些额外的链接。