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中没有这样的方法可以覆盖。
你们有没有想法,我怎么能解决这个问题。
非常感谢您的帮助。
谢谢和问候 伊尔凡
答案 0 :(得分:2)
我找到了解决方案。实际上,aspx页面是从System.Web.UI.Page派生的,而母版页是从Control类派生的。在那里,方法SavePageStateToPersistenceMedium()在aspx页面中可用,而不是在母版页中。您必须在每个aspx页面中覆盖此方法,或者创建从Page类派生的自己的基类,然后重写该方法。
答案 1 :(得分:1)
使用PageStatePersister覆盖将更容易在所有页面上更改ViewState持久性机制,而无需基类。
Milan Negovan使用PageStatePersister在不同的选项上写了一个很好的blog post,还有一些额外的链接。