2012-05-17 41 views
1

如果我定義實現IActionFilter像這樣的動作過濾器:MVC操作篩選器 - 導致控制器代碼無法執行的原因?

public class FooAttribute : FilterAttribute, IActionFilter 
{ 
    public void OnActionExecuted(ActionExecutedContext filterContext) 
    { } 

    public void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     filterContext.Result = new ContentResult 
     { 
      Content = "Test", 
      ContentEncoding = Encoding.UTF8, 
      ContentType = "text" 
     }; 
    } 
} 

,並將其應用於以下操作方法:

[Foo] 
public ActionResult Index() 
{ 
    return View(); 
} 

當我做這個索引操作的代碼不會運行,並且沒有執行OnResultExecuted方法。這是因爲我在OnActionExecuting方法中設置了Result屬性?是否還有其他一些會導致正常流量中斷的事情?

回答

相關問題