Asp.net

停止繼續 ASP.NET MVC ActionFilter

  • April 24, 2014

我在一個動作上有兩個自定義 ActionFilter。

在第一個動作過濾器中,如果不滿足條件(經典授權),我將執行重定向。在另一個條件下,如果不滿足另一個條件(比如角色檢查),我會執行重定向。

但是如果第一個不滿足,我不想繼續第二個 actionFilter。這該怎麼做?

將該filterContext.Result屬性設置為任何非空值將停止執行以後的過濾器。因此,如果您的第一個過濾器設置filterContext.Result = new RedirectResult(...),第二個過濾器和操作方法將永遠不會執行。這就是內置[Authorization]過濾器的工作原理。

引用自:https://stackoverflow.com/questions/2468741