我有一个页面,其中包含一些搜索字段,用于查询数据库并显示结果。 ViewState是必需的,以保留下拉列表中项目的列表。
在Firefox(3)和Chrome中一切都正常工作,但是在Internet Explorer中偶尔会失败(某些操作,例如重置表单,实际上只是使用一些查询字符串参数进行响应重定向)...视图状态会转储到URL上,并抛出错误页面。
有没有人遇到过这个问题? 或许有一些指示可以说明在IE中可能导致这种情况发生的原因?
非常感谢。
格雷格
更新:
进一步调查后,我确定实际错误是这样的:
视图状态 MAC 验证失败。如果该应用程序由 Web Farm 或群集托管,请确保配置指定相同的 validationKey 和验证算法。在群集中不能使用 AutoGenerate。
可能有帮助的更多信息:这是由用户控件引起的,它被托管在内容管理系统(Umbraco)中,这可能与为什么将视图状态传递给页面有关(因为控件包含在CMS中更大的页面中)。我将进一步调查此事,但非常感谢任何其他建议。
cheers 格雷格
更新2:
有人能够解释为什么这种问题只出现在IE中(而不是在Firefox或Chrome)吗?如果其他浏览器都可以正常处理,那么控件变化或机器密钥或其他我在其他地方读到的建议可能都不太可能是问题的原因。
「有什麼想法是 IE 做得不同,可能導致這個失敗嗎??」
解决方案:
结果发现这是一个非常愚蠢的问题——我在CMS中使用错误的主模板,因此有两个表单标签。删除额外的表单标签,问题解决了!
感谢bendewey为帮助我解决这个问题(请参见bendewey的帖子中的评论)。
那是我想要回来的4个小时...但现在很高兴我可以继续前进。再次感谢Stack Overflow社区:)