使用 SPGridView 的 SharePoint 自定义网站页面上的视图状态错误
我在 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),但我可以使用该页面上的搜索框而不会导致错误。
I've got a custom site page in Windows SharePoint Services 3.0 that contains an SPGridView. When I use the search box on this page, I get the following error:
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)
Removing the SPGridView from the page fixes this problem, but otherwise I'm not sure how to go about troubleshooting the problem.
This is on a fresh, default install of WSS3, so I don't think it has to do with any other customizations (master pages, etc.). I have one other custom site page in this feature (which doesn't include an SPGridView), but I can use the search box on that page without causing an error.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好的,我终于弄清楚了问题所在(无论如何,在我的特定情况下):我指定了 SPGridView 的 DataKeyNames 属性。 删除该属性后,搜索工作正常。
OK, I finally figured out what the problem was (in my particular case, anyway): I was specifying the DataKeyNames attribute of the SPGridView. After removing that attribute, search worked just fine.
应用程序是否在 webfarm 环境中运行?
如果是这样,则必须在 web.config 中设置 machineKey:
我们使用 eggheadcafe
的 machineKey 生成器
有关 Viewstate 和 webfarms 的更多信息请此处
Is the application running in a webfarm environment?
If so the machineKey must be set in web.config:
We use the machineKey generator from eggheadcafe
More about Viewstate and webfarms here
SharePoint 中的搜索框似乎使用母版页底部的隐藏字段。
< 输入类型=“文本”名称=“__spDummyText1”样式=“显示:无;” 大小=1>>
< 输入类型=“文本”名称=“__spDummyText2”样式=“显示:无;” 大小=1>>
因此,如果您对 application.master 中的这些字段或实用程序内容占位符执行了任何操作,则它将不起作用。
另一方面,我们在页面中使用 SPGridView 没有任何问题。
The searchbox in SharePoint seems to use the hidden fields at the bottom of the masterpage.
< input type="text" name="__spDummyText1" style="display:none;" size=1/>
< input type="text" name="__spDummyText2" style="display:none;" size=1/>
So if you've done anything with these fields in the application.master or to the Utility Content Placeholder, it won't work.
On the other hand, we have been using SPGridView in our pages without any problems.