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






















留言

熱門文章