ASP.NET MVC/セレクター

提供: MonoBook
< ASP.NET MVC
2012年5月18日 (金) 04:21時点におけるimported>Administratorによる版 (→‎主なセレクタークラス)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

ASP.NET MVCセレクターとは、アクションメソッドコントローラークラスメソッド)に、属性Attribute)を用いて、コントローラーによるアクションの振り分け選択する機能である。

ASP.NET MVCの規定値ではメソッド名がアクション名になるが、ActionName属性(ActionNameAttributeクラス)を付けることでアクション名を明示することもできる。この際にセレクターを用いると、同一アクション名でPOSTやGETなどの条件でアクションメソッドを切り替えるということが可能になる。

    public class HomeController : Controller
    {
        [ActionName("Index"), AcceptVerbs(HttpVerbs.Get)]
        public ActionResult IndexGet()
        {
            // GETの時はこちら
            return View();
        }

        [ActionName("Index"), AcceptVerbs(HttpVerbs.Post)]
        public ActionResult IndexPost()
        {
            // POSTの時はこちら
            return View();
        }
    }

なお、AcceptVerbs(HttpVerbs.Post)などの部分は記述が長ったらしいということで、ASP.NET MVC 2からHttpPost属性やHttpGet属性という短い名前が用意されている。

主なセレクタークラス[編集 | ソースを編集]

セレクターの独自実装[編集 | ソースを編集]

基本はActionMethodSelectorAttributeクラスを継承、IsValidForRequestメソッドをオーバーライドし、その中に条件を書くことで独自のセレクターを作ることができる。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]


外部リンク[編集 | ソースを編集]