Asp.net 如何使用ActionFilters中断/拦截MVC操作?
如果这是重复的,请随意关闭。我找不到答案 我希望能够在操作方法上放置Asp.net 如何使用ActionFilters中断/拦截MVC操作?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,如果这是重复的,请随意关闭。我找不到答案 我希望能够在操作方法上放置System.Web.ActionFilterAttribute,并重写OnActionExecuting方法以插入确定是否应执行操作的业务逻辑 是否可以使用ActionExecutingContext取消正在执行的操作方法并执行以下操作之一: 发送HTTP状态代码(以及相应的页面) 在同一控制器内执行不同的操作方法 发送HTTP状态代码(以及 相应的页面) 几乎: public override void OnAction
System.Web.ActionFilterAttribute
,并重写OnActionExecuting
方法以插入确定是否应执行操作的业务逻辑
是否可以使用ActionExecutingContext
取消正在执行的操作方法并执行以下操作之一:
- 发送HTTP状态代码(以及相应的
页面)李>
- 在同一控制器内执行不同的操作方法
页面)
几乎:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.StatusCode = 500;
}
执行不同的操作方法 在同一控制器内 是的:
您始终可以重定向到动作筛选器中的另一个控制器/动作
请参见示例。我认为你的回答的后半部分不正确。这将只返回一个不同的视图,而不是执行操作。如何
filterContext.Result=new redirectoroutesult(…)
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.Result = new ViewResult() { ViewName = "SomeOtherAction" };
}