use*_*126 38 asp.net-mvc action-filter
是否可以跳过整个动作方法执行并ActionResult在满足某个条件时返回特定的OnActionExecuting?
Ric*_*SFT 34
请参阅我的下载示例和MSDN文章在ASP.NET MVC中过滤.
您可以通过将属性设置为非空值来取消OnActionExecuting和OnResultExecuting方法中的过滤器执行Result.
不会调用任何挂起OnActionExecuted和OnActionExecuting过滤器,并且调用者不会OnActionExecuted为取消的过滤器或挂起的过滤器调用该方法.
在OnActionExecuted先前运行的过滤器的过滤器将运行.所有OnResultExecutingand OnResultExecuted过滤器都将运行.
示例中的以下代码显示了在ActionResult满足特定条件时如何返回特定内容OnActionExecuting:
if (filterContext.RouteData.Values.ContainsValue("Cancel"))
{
filterContext.Result = new RedirectResult("~/Home/Index");
Trace.WriteLine(" Redirecting from Simple filter to /Home/Index");
}
Run Code Online (Sandbox Code Playgroud)
tpe*_*zek 25
您可以使用filterContext.Result.它应该如下所示:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Check your condition here
if (true)
{
//Create your result
filterContext.Result = new EmptyResult();
}
else
base.OnActionExecuting(filterContext);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32193 次 |
| 最近记录: |