ASP.NET MVC从属性重定向

pis*_*hio 16 .net c# asp.net-mvc asp.net-mvc-2

我正在尝试从方法属性执行重定向.它似乎工作:

public class MyAttribute: ActionFilterAttribute {
    [..]
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        [..]
        filterContext.HttpContext.Response.Redirect(urlToRedirectTo, true);
        [..]
Run Code Online (Sandbox Code Playgroud)

唯一的问题是重定向是在它附加到的方法结束后执行的,而我想重定向以防止执行该方法.

有帮助吗?谢谢

Łuk*_*.pl 30

您可以通过将ActionResult分配给filterContext.Result来阻止执行操作方法.例如:

filterContext.Result = new RedirectResult(urlToRedirectTo);
Run Code Online (Sandbox Code Playgroud)