差分
ナビゲーションに移動
検索に移動
[[ASP.NET MVC]]の'''セレクター'''とは、アクションメソッド(コントローラークラスのメソッド)に、[[属性]]([[Attribute]])を用いて、コントローラーによる[[アクション]]の振り分け選択する機能である。
ASP.NET MVCの規定値ではメソッド名がアクション名になるが、ActionName属性(ActionNameAttributeクラス)を付けることでアクション名を明示することもできる。この際にセレクターを用いると、同一アクション名でPOSTやGETなどの条件でアクションメソッドを切り替えるということが可能になる。
<source lang="csharp">
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();
}
}
</source>
なお、AcceptVerbs(HttpVerbs.Post)などの部分は、記述が長ったらしいということで、ASP.NET MVC 2からHttpPost属性やHttpGet属性という短い名前が用意されている。
== 関連項目 ==
* [[ASP.NET MVC]]
** [[ASP.NET MVC/フィルター]]
== 参考文献 ==
<references/>
== 外部リンク ==
{{stub}}
ASP.NET MVCの規定値ではメソッド名がアクション名になるが、ActionName属性(ActionNameAttributeクラス)を付けることでアクション名を明示することもできる。この際にセレクターを用いると、同一アクション名でPOSTやGETなどの条件でアクションメソッドを切り替えるということが可能になる。
<source lang="csharp">
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();
}
}
</source>
なお、AcceptVerbs(HttpVerbs.Post)などの部分は、記述が長ったらしいということで、ASP.NET MVC 2からHttpPost属性やHttpGet属性という短い名前が用意されている。
== 関連項目 ==
* [[ASP.NET MVC]]
** [[ASP.NET MVC/フィルター]]
== 参考文献 ==
<references/>
== 外部リンク ==
{{stub}}