我有以下代码:
@Ajax.ActionLink("Delete", "Delete",
new { id = item.ID, RequestVerificationToken=*What comes here?*},
new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "formsIndex" })
我想在不使用客户端的javascript的情况下将验证令牌添加到链接,它似乎是一个冗余的依赖,因为我已经在服务器中拥有该值。有没有正确的方法呢?
答案 0 :(得分:5)
来自MSDN documentation(我的重点)
HtmlHelper.AntiForgeryToken Method
生成隐藏的表单字段(防伪标记),在提交表单时进行验证。
您需要一个表单元素来生成防伪标记。
@Ajax.BeginForm("Delete", new { id = item.ID }, new AjaxOptions { UpdateTargetId = "formsIndex" }))
{
@Html.AntiForgeryToken()
<input type="submit" value="Delete" /> // style to look like a link if that's what you want
}