【发布时间】:2013-09-29 14:42:49
【问题描述】:
我有三个控制器,但 Controller1 继承自 Controller2 和 Controller2 继承自 Controller3。
例如
public class Controller1 : Controller
{
[HttpPost]
[ValidateAntiForgeryToken()]
public virtual ActionResult Create(MyClass test)
{
...
public class Controller2 : Controller1
{
...
public class Controller3 : Controller2
{
[HttpPost]
[ValidateAntiForgeryToken()]
public override ActionResult Create(MyClass test)
...
也在视图中添加
@Html.AntiForgeryToken()
当有一个控件并且没有继承的好工作,但是当使用继承和覆盖方法时,ValidateAntiForgeryToken 会出错。
validationAntiforgeryToken 无效并报错:
所需的防伪表单字段“__RequestVerificationToken”是 不存在。
[HttpAntiForgeryException (0x80004005): 所需的防伪表单 字段“__RequestVerificationToken”不存在。]
...
谢谢。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4 antiforgerytoken overriding