0

我在 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),但我可以使用该页面上的搜索框而不会导致错误。

4

3 回答 3

1

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

于 2009-01-02T19:55:25.553 回答
0

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

于 2009-01-01T16:18:17.407 回答
0

SharePoint 中的搜索框似乎使用了母版页底部的隐藏字段。
< input type="text" name="__spDummyText1" style="display:none;" size=1/>
< input type="text" name="__spDummyText2" style="display:none;" size=1/> 因此,如果您对 application.master 或 Utility Content Placeholder 中的这些字段进行了任何操作,它将无法正常工作。
另一方面,我们一直在页面中使用 SPGridView 没有任何问题。

于 2009-01-01T18:19:03.013 回答