如何在部分视图中使用MVC AntiForgeryToken

本文关键字:MVC AntiForgeryToken 视图 | 更新日期: 2023-09-27 17:49:56

我的问题是,在处理部分视图时,什么是正确的方法。每个部分视图或整个容器是否都有一个令牌?

目前我们的表单包含5个部分视图的div。用户正在响应认证问题列表,根据响应显示1个或多个div/部分视图。每个部分视图被接受/拒绝(按钮选择),整个表单被提交(按钮)。目前,每个部分视图在控制器中都有自己的AntiForgeryToken和相应的令牌验证(按照您所指示的方式)。

使用这种方法,我们会定期看到System.Web.Mvc.HttpAntiForgeryException

如果我有一个表单/视图,将显示一个或多个基于用户响应的部分视图。我需要把防伪造令牌放在哪里?在父视图中?在局部视图中?都有?

我的理论是,当表示多个部分视图时,会发生令牌不匹配并报告错误。我的想法是将令牌移动到主/父视图。

我讲对了吗?有人遇到过类似的情况吗?

如何在部分视图中使用MVC AntiForgeryToken

当你在一个表单中有多个部分视图时,你需要在父页面(表单)中单独添加@Html.AntiForgeryToken()。

您不需要在每个部分中都放置相同的