0

我用 rad 网格创建了网页。在其中,我提供了过滤、短路、分组和分页的便利。由于性能问题,我试图将 viewatate 移动到会话中。我在网页中设置了启用viewsate false,并在页面中添加了波纹管代码。

    protected override object LoadPageStateFromPersistenceMedium()
    {
        return Session["ViewState-" + Request.Url.AbsolutePath];

    }
    protected override void SavePageStateToPersistenceMedium(object state)
    {
        Session["ViewState-" + Request.Url.AbsolutePath] = state;

        ClientScript.RegisterHiddenField("__VIEWSTATE", "");
    }

但是当我在 rad 网格上做一些事情时,它会产生以下错误

此页面的状态信息无效,可能已损坏。

4

1 回答 1

1

如果您使用的是 ASP.NET 2.0 或更高版本,Microsoft 为 ViewState in Session 提供了内置功能。您应该使用它以获得最大的兼容性。

只需将其放入您的 .CS 文件中即可

protected override PageStatePersister PageStatePersister
{
  get
  {                
     return new System.Web.UI.SessionPageStatePersister(this);
  }
}

链接在http://msdn.microsoft.com/en-sg/library/system.web.ui.sessionpagestatepersister.aspx

于 2013-05-21T05:16:31.940 回答