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