コントローラがインスタンス化される前に、MVCアクションフィルタ属性が実行されますか?コントローラのプロパティがあり、ActionFilterからチェックしたいと思います。これは可能ですか?ASP.NET MVC、アクションフィルタ、またはコントローラでは、どのインスタンスが最初にインスタンス化されますか?
4
A
答えて
4
Professional ASP.NET MVC 1.0の本によると、コントローラがインスタンス化された後にActionFiltersが実行されます。 OnActionExecuting(ActionFilterが呼び出す最初のメソッド)の時点で、Controllerコンテキストが利用可能です。
2
コントローラは、アクションフィルタのOnActionExecutedイベントとOnActionExecutingイベントが発生する前にインスタンス化されます。また、イベントハンドラに渡される "filterContext"パラメータを介してコントローラにアクセスすることもできます。
public class TestActionAttribute : FilterAttribute, IActionFilter
{
#region IActionFilter Members
public void OnActionExecuted(ActionExecutedContext filterContext)
{
var controller = filterContext.Controller;
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var controller = filterContext.Controller;
}
#endregion
}
1
抽象クラスSystem.Web.Mvc.ActionFilterAttribute(このクラスから独自のActionFilterを導き出す)4つのXXXのメソッドを持っています:
- OnActionExecuting
- は
- OnResultExecuting
- をOnActionExecuted をOnResultExecuted
私はOnActionExecutingであなたのコントローラをチェックすることができると思う:
YourController controller = filterContext.Controller as YourController
if(controller != null)
{
// check your controller
}
関連する問題
- 1. アクションフィルタでビューモデルをインスタンス化しますか?
- 2. はインスタンス化されたオブジェクトにアクセスできません。C#/ asp.net
- 3. アクティビティのインスタンス変数はいつ初期化されますか?
- 4. コントローラのインスタンス化が
- 5. 最初に開いたビューはどれですか? ASP.NET MVC
- 6. スプリングコントローラのクラスオブジェクトはどのようにインスタンス化されますか?
- 7. インスタンス初期化ブロックがJavaに追加されたのはいつですか?
- 8. WP7ビューはどのようにインスタンス化されますか?
- 9. Spring HandlerInterceptorはどのようにインスタンス化されますか?
- 10. インスタンス化されたオブジェクトはどこにzendフレームワークに格納されますか?
- 11. C2DM:C2DMReceiverはどこでインスタンス化されますか?
- 12. ASP.NET MVCのアクションフィルタをテストするには?
- 13. アクティビティの最初のインスタンスはガベージコレクションされません。
- 14. Kohanaは別のコントローラのコントローラ関数をインスタンス化します
- 15. iPhoneアプリケーションでインスタンス化されたUIWindowはどこですか?
- 16. COMオブジェクトはあるプログラムからインスタンス化されますが、同じユーザーで実行されている別のインスタンスからインスタンス化されません
- 17. ASP.Net MVCコントローラのコンストラクタの初期化に時間がかかります
- 18. アクションフィルタのASP.NET MVCテスト
- 19. クラスはインスタンス化されます
- 20. 作成方法AuthorizeAttribute派生型は、リクエストがASP.NET MVCに到着するたびにインスタンス化します。MVC
- 21. AppDelegateでは、メインのUIWindowはどのようにインスタンス化されますか?
- 22. 最後にインスタンス化されたものから最初にインスタンス化されたものから、同じタグを持つインスタンス化されたプレハブを1つずつ破棄しますか?
- 23. ASP.NET MVCでEF4コンテキストをインスタンス化するときは?
- 24. 電話またはインスタンス化?
- 25. コントローラのインスタンスはいつ作成されますか?
- 26. ファブリックサンプルの最初のネットワークでチェーンコードをインスタンス化できません
- 27. サブクラスのインスタンス化時に、スーパークラスのプライベートメンバーもインスタンス化されますか?
- 28. アクティビティはインスタンス化されません
- 29. UIViewControllerの2番目のインスタンスがインスタンス化され、元のオブジェクトに対して行われた初期化が失われます。どうして?
- 30. MvcSiteMapによってすべてのコントローラがインスタンス化されます