我有一个MVC 3视图,其中包含以下代码: -
@using (Html.BeginForm(MVC.Order.SearchResults(), FormMethod.Get))
{
@Html.AntiForgeryToken()
@Html.Button("btnSearch", "Search", HtmlButtonType.Submit, null, new { @class = "button primary icon search", alt = "Search the orders (up to 50 characters)" }
}
当我发布表单时,我看到了__RequestVerificationToken =以及查询字符串中的验证令牌的内容。
任何想法为什么会出现这种情况以及如何对其进行排序?
答案 0 :(得分:3)
防伪标记仅适用于POST请求。如果要使用它们,则需要将表单使用的动词更改为POST而不是GET:
@using (Html.BeginForm(MVC.Order.SearchResults(), FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.Button("btnSearch", "Search", HtmlButtonType.Submit, null, new { @class = "button primary icon search", alt = "Search the orders (up to 50 characters)" }
}
答案 1 :(得分:0)
有一种解决方法,您可以通过GET方法甚至在标头中传递antiforegy值。更多详情here。