【发布时间】:2015-09-13 09:21:36
【问题描述】:
我有 2 个控制器 Home 与
public class HomeController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
// do some irrelevant stuff
base.OnActionExecuting(filterContext);
}
public ActionResult Index()
{
return View();
}
}
和Service 一起
public ActionResult Confirm()
{ return RedirectToAction("Index", "Home");}
还有一个ActionFilterAttribute 和OnActionExecuting 方法
public class InvitationModeAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// do some stuff
base.OnActionExecuting(filterContext);
}
}
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new InvitationModeAttribute());
}
}
当我转到 localhost/Service/Confirm 时,OnActionExecuting 会被触发,但是当RedirectToAction 被调用时,OnActionExecuting 不会被触发。
在RedirectToAction 之后我该如何捕捉到这个?
谢谢
【问题讨论】:
-
显示两个控制器的代码。
-
已编辑...关键是在 RedirectToAction 之后不会触发 OnActionExecuting
-
你的 OnActionExecuting 方法是在哪里写的?
-
@Maarty 我没有看到属性。你是否用期望的属性装饰了这两个动作?
-
@SillyVolley - 已编辑
标签: c# asp.net asp.net-mvc redirecttoaction actionfilterattribute