对母版页ASP.NET使用SavePageStateToPersistenceMedium()

对母版页ASP.NET使用SavePageStateToPersistenceMedium(),asp.net,viewstate,page-lifecycle,Asp.net,Viewstate,Page Lifecycle,请参考主题。本主题演示如何通过服务器将ViewState保存到文件系统,以便在往返时使ViewState非常小。作者通过继承System.Web.UI.Page创建了一个类BasePage,并且所有页面都派生自该类 我正在开发的网站使用一个母版页,所有的页面都来自这个母版页。当我尝试重写SavePageStateToPersistenceMedium()时,会生成一个编译错误,指示System.Web.UI.MasterPage中没有要重写的此类方法 我怎样才能解决这个问题?我已经找到了解决办法

请参考主题。本主题演示如何通过服务器将ViewState保存到文件系统,以便在往返时使ViewState非常小。作者通过继承System.Web.UI.Page创建了一个类BasePage,并且所有页面都派生自该类

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


我怎样才能解决这个问题?

我已经找到了解决办法。实际上,aspx页是从System.Web.UI.page派生的,而母版页是从控件类派生的。在这里,SavePageStateToPersistenceMedium()方法仅在aspx页面中可用,而不在母版页中可用。您必须在每个aspx页面中重写此方法,或者创建从page类派生的自己的基类,然后重写此方法。

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

使用重写将更容易在所有页面上更改ViewState持久性机制,而不需要基类

Milan Negovan使用PageStatePersister编写了一个关于不同选项的好文章,其中包含一些附加链接。

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

米兰·内戈万(Milan Negovan)使用PageStatePersister就不同的选项写了一篇很好的文章,还有一些额外的链接