ページ上の各アクションで開始されるいくつかのアクション メソッドがあります。このクラスに関連付けられたプロパティの 1 つにカスタム属性が定義されています。この inturn は、同じコントローラ クラス内で定義されたメソッド (action=method) を呼び出します。
しかし、このアクション メソッドはすべてのアクションで呼び出す必要はありません。この特定のアクションにリダイレクトする前に確認するにはどうすればよいですか?
ページ上の各アクションで開始されるいくつかのアクション メソッドがあります。このクラスに関連付けられたプロパティの 1 つにカスタム属性が定義されています。この inturn は、同じコントローラ クラス内で定義されたメソッド (action=method) を呼び出します。
しかし、このアクション メソッドはすべてのアクションで呼び出す必要はありません。この特定のアクションにリダイレクトする前に確認するにはどうすればよいですか?
次のように、フィルター コンテキストまたはコントローラー コンテキスト オブジェクトから現在のアクションの値を読み取ることができますRouteData
。
public class MyAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
var action = filterContext.RouteData.Values["action"];
if(action == "xxx")
...// then
base.OnResultExecuting(filterContext);
}
}