为什么我的 ActionFilter 都没有运行?

2023-12-23

I 问了一个问题 https://stackoverflow.com/questions/933798/how-do-i-access-the-modelstate-form-an-actionfilter今天早些时候关于ActionFilters在 ASP.Net MVC 中。事实证明我的问题确实是我的ActionFilter甚至没有运行。我读过的其他内容包括本文 http://ittecture.wordpress.com/2009/04/25/tip-of-the-day-193-aspnet-mvc-custom-action-filters/,而且我找不到任何他做过但我没做过的事情。

这是我的代码:

// The ActionFilter itself
public class TestingIfItWorksAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.Controller.TempData["filter"] = "it worked!";
        base.OnActionExecuting(filterContext);
    }
}

// The Controller Action with the filter applied
[TestingIfItWorks]
public ActionResult Test()
{
    var didit = TempData["filter"];
    return View();
}

当我调试时,过滤器方法中的断点永远不会被命中,并且TempData["filter"]持有一个null渲染视图时的值。

为什么这不起作用?


如果它对使用 MVC 4/5 的人有帮助:

如果您获取了您的名称空间,则 ActionFilters 不会运行ActionFilterAttribute or IActionFilter wrong: https://stackoverflow.com/a/13710468/188926 https://stackoverflow.com/a/13710468/188926

Use System.Web.Http.Filters对于网络 API,System.Web.Mvc用于标准 MVC 操作。

正如问题中一样,如果你弄错了,过滤器属性将被简单地忽略(没有错误),这使得诊断变得困难。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 ActionFilter 都没有运行? 的相关文章

随机推荐