AntiForgery MachineKey错误是由于另一种形式内的形式? MVC4

时间:2015-01-06 16:02:12

标签: html asp.net asp.net-mvc forms asp.net-mvc-4

是否可能因另一个表单中的表单而导致Antiforgery MachineKey错误?

  

无法解密防伪令牌。如果此应用程序由Web场或群集托管,请确保所有计算机都运行相同版本的ASP.NET网页,并且配置指定显式​​加密和验证密钥。无法在群集中使用AutoGenerate。

当我单独放置表单时,两者都有效,但是当我在内部得到所提到的错误时,我是网络开发中的新手,所以它可能是一个愚蠢的问题(表单内的表单)。

@using (Html.BeginForm()) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)
// ...
    @using (Html.BeginForm("miniCreate", "Client"))
    {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)
        //...
    }
}

1 个答案:

答案 0 :(得分:4)

正如@MikeSmithDev所提到的,你不能把表单放在另一个表单中。一种替代方案是AJAX迷你形式到控制器。或者把它放在大表格之外,并使用CSS使它'#34;看起来正确"。