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(使用前将#替换为@)