<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey>" id="card1">
<p> 游客</p><p>
标题:验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 &lt;machineKey&gt;<br/>
正文:<br/>
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载，请确保 &amp;lt;machineKey&amp;gt; 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。说明: 执行当前 Web 请求期间，出现未处理的异常。请检查堆栈跟踪信息，以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Web.HttpException: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载，请确保 &amp;lt;machineKey&amp;gt; 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。分析：分析后找到了问题的根源。首先，文章中提到，如果用GridView，并且指定了DataKeyNames属性，则出于安全的理由（因为DataKeyNames指定的字段代表数据的主键，且该主键值需要保存在视图状态中发送到客户端，用户如果篡改主键值，会导致安全问题），GridView会要求加密视图状态。为此会自动在页面表单&amp;lt;/forms&amp;gt;之前添加一个&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;__VIEWSTATEENCRYPTED&amp;quot; id=&amp;quot;__VIEWSTATEENCRYPTED&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt; 。然而，Atlas的UpdatePanel要求放置在&amp;lt;form&amp;gt;&amp;lt;/form&amp;gt;内部，也就是&amp;lt;/form&amp;gt;之前。这就意味着添加的隐藏input控件没有被放置在UpdatePanel内，而是放置在UpdatePanel和&amp;lt;/form&amp;gt;之间。当UpdatePanel更新时，UpdatePanel内部的控件被提交到服务器进行处理（Patrial Rendering），而整个页面并没有被提交。也就是说隐藏的input控件没有随着一起提交。因此服务器并不知道提交的ViewState被加密了，从而导致MAC验证错误。解决方法有二，仅供参考：1.可以在当前页面的&amp;lt;page ...&amp;gt;里加两个属性：enableEventValidation=&amp;quot;false&amp;quot; viewStateEn<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=330&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=330&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=330&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=330&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=330&amp;Page=3">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=330">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=330">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>