【问题标题】:Viewstate error on SharePoint custom site page with SPGridView使用 SPGridView 的 SharePoint 自定义网站页面上的 Viewstate 错误
【发布时间】:2009-01-03 03:55:25
【问题描述】:

我在 Windows SharePoint Services 3.0 中有一个自定义网站页面,其中包含一个 SPGridView。当我使用此页面上的搜索框时,我收到以下错误:

Unable to validate data.   at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo) 
   at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)  

从页面中删除 SPGridView 可以解决此问题,但否则我不确定如何解决问题。

这是 WSS3 的全新默认安装,因此我认为它与任何其他自定义(母版页等)无关。我在此功能中还有另一个自定义网站页面(不包括 SPGridView),但我可以使用该页面上的搜索框而不会导致错误。

【问题讨论】:

  • 您可能应该使用其他 asp.net 重新标记

标签: sharepoint spgridview


【解决方案1】:

好的,我终于弄清楚了问题所在(无论如何,在我的特殊情况下):我指定了 SPGridView 的 DataKeyNames 属性。删除该属性后,搜索工作正常。

【讨论】:

    【解决方案2】:

    应用程序是否在 webfarm 环境中运行?
    如果是这样,必须在 web.config 中设置 machineKey:
    我们使用来自 eggheadcafe
    的 machineKey 生成器 更多关于 Viewstate 和 webfarms here

    【讨论】:

    • 不,这发生在我的开发环境中,即虚拟 PC。它也发生在我们将其部署到的开发服务器上。
    【解决方案3】:

    SharePoint 中的搜索框似乎使用了母版页底部的隐藏字段。

    因此,如果您对 application.master 或实用程序内容占位符中的这些字段进行了任何操作,它将无法正常工作。
    另一方面,我们一直在页面中使用 SPGridView,没有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      • 2017-10-29
      • 2011-07-14
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多