mac失败解决办法

出错提示

验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate

原因

ASP.Net的 runat='server' 会对ViewStat进行MAC的加密,使得提交数据时只能对同一页面进行。

处理方法

A 在接收页加上 @ page EnableViewStateMac="false"

或者 enableEventValidation="false" viewStateEncryptionMode ="Never"


B. 当然也可以在web.config的节点里加入:



====================================================================

enableViewState 可选的 Boolean 属性, 默认值为 True。

指定视图状态是否启用并在多个页请求之间保持。


enableViewStateMac 可选的 Boolean 属性, 默认值为 True。

指定从客户端回发页时,ASP.NET 是否应该对页的视图状态运行消息身份验证代码 (MAC)。如果为 True,将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。


viewStateEncryptionMode 可选的 ViewStateEncryptionMode 属性, 默认值为 Auto。此属性是 .NET Framework 2.0 中的新属性。

Always 视图状态始终加密。

Never 视图状态从不加密,即使控件请求加密时也是如此。

Auto 视图状态根据控件的请求而加密。

posted @ 2007-08-30 09:38  Gross  阅读(542)  评论(0编辑  收藏  举报