MVC
from https://aspnet-mvc.clock-up.jp/contents/route/route
トップページで呼ばれるコントローラ・アクション
トップページ(http://localhost:xxx/
)で呼ばれるコントローラ・アクションはデフォルトでは HomeController.Index
になっていますが、
この挙動は App_Start/RouteConfig.cs の以下のコードにより設定されています。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // ★ココ
);
たとえばこれを以下のように書き換えた場合、
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Abc", action = "Xyz", id = UrlParameter.Optional } // ★ココを書き換え
);
トップページ(http://localhost:xxx/
)で呼ばれるコントローラ・アクションは AbcController.Xyz
になります。
アクションが受け取るパラメータ
App_Start/RouteConfig.cs に書かれている内容から想像が付くかと思うのですが、
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}", // ★ココに注目
....
たとえば http://localhost:xxx/Hoge/Fuga/10
のような URL が呼ばれた場合、HogeController.Fuga
が呼ばれ、そのパラメータとして id
が 10
として渡されます。
HogeController.Fuga が以下のように定義されていれば、
public clss HogeController
{
public ActionResult Fuga(int id)
{
....
}
Fuga
メソッドの引数 id
には 10
が入ることになります。
ref https://books.google.com.tw/books?id=Km-rDwAAQBAJ&pg=SA1-PA6&hl=zh-TW&source=gbs_toc_r&cad=3#v=onepage&q&f=false
Add controller
Add View
Run as target page
留言
張貼留言