【问题标题】:ASP.NET: Validation of viewstate MAC failedASP.NET:视图状态 MAC 的验证失败
【发布时间】:2009-10-13 19:19:21
【问题描述】:

我有一个 WizardStep 控件,我需要从中获取一个信息:网上购物车的总金额。当我搜索并询问这个论坛时,我的结论是,这不能通过将隐藏字段或隐藏文本框值从 WizardStep 完成步骤传递到下一页来完成。因此,我尝试将此信息放入会话中,然后定向到一个新页面,在该页面中创建一个表单文本框,其值将是会话值。

但我收到了 Validation of viewstate MAC failed 错误。我试图将提交调用延迟 3 秒,但这无济于事,而且我没有在 webfarm 上运行该站点。

我需要文本框的原因是我的支付网关要求我通过表单值传递总金额。

这是我的向导控件指向的页面。它只是一个测试页atm。现在我只需要将值从文本框传输到下一页而不会出现视图状态错误:

<script type="text/javascript" language="javascript">
    window.onload = function() {
        setTimeout('submitForm()', 3000);

    }

    function submitForm() {
        document.forms[0].submit();
    }
</script>

<div>

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    通常,发生视图状态错误是因为页面在完成加载之前被刷新,如this question。鉴于这是一个仅重定向数据的简单页面,我会确保您使用的是 HTML 输入元素,而不是 ASP TextBox 控件(或任何其他 ASP 控件),它应该从页面中完全删除视图状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2011-12-18
      相关资源
      最近更新 更多