Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc mvs局部视图防伪_Asp.net Mvc_Asp.net Mvc 5_Antiforgerytoken - Fatal编程技术网

Asp.net mvc mvs局部视图防伪

Asp.net mvc mvs局部视图防伪,asp.net-mvc,asp.net-mvc-5,antiforgerytoken,Asp.net Mvc,Asp.net Mvc 5,Antiforgerytoken,我有一个ASP.NET MVC5页面,带有部分视图。是否需要将@Html.AntiForgeryToken()添加到页面和部分视图中?或者我应该只在主网页上使用它,而不是在部分网页上使用它。我问这个问题的原因是,当我在部分页面上使用@Html.AntiForgeryToken()时,我得到一个错误,表示AntiForgeryToken不匹配 有人知道这件事吗 编辑2014/10/17 @ps2goat 有一个没有任何表单的主页,在该页面中存在两个_partialview,每个都包含一个表单。没有

我有一个ASP.NET MVC5页面,带有部分视图。是否需要将@Html.AntiForgeryToken()添加到页面和部分视图中?或者我应该只在主网页上使用它,而不是在部分网页上使用它。我问这个问题的原因是,当我在部分页面上使用@Html.AntiForgeryToken()时,我得到一个错误,表示AntiForgeryToken不匹配

有人知道这件事吗

编辑2014/10/17

@ps2goat

有一个没有任何表单的主页,在该页面中存在两个_partialview,每个都包含一个表单。没有嵌套表单

_部分形式

@model IEnumerable<Test.ViewModels.Report_Requirements>

@using (Html.BeginForm("ExportRequirments", "Report", FormMethod.Post,
  new { enctype = "multipart/form-data" })) 
{
  @Html.AntiForgeryToken()
}
@model IEnumerable
@使用(Html.BeginForm(“exportrequirements”、“Report”、FormMethod.Post、,
新的{enctype=“multipart/form data”})
{
@Html.AntiForgeryToken()
}

您需要将令牌放入正在发布的表单中。如果您正在使用ajax进行自己的发布,则需要将令牌附加到发布数据。如果有多个令牌被投递到服务器,也可能发生此错误。@ps2goat谢谢。如果页面和部分页面各有一个表单,我是否应该在每个表单中放置@HTML.AntiForgeryToken()?如果页面上有多个
元素,并且使用默认的发布(例如,单击按钮),则每个表单中都需要一个令牌。@ps2goat谢谢,我不使用我自己的发布,我使用提交按钮。当我只发布一个(两个中的任何一个)时,它工作正常,但当我附加第二个时,错误就出现了。在这种情况下,我应该在哪里查找错误?错误消息-“防伪cookie令牌和表单字段令牌不匹配。”