2

URL のデフォルトの末尾として使用したいパラメーターがありますが、現在はパラメーターです。常にHome Controller&Index Actionにダイレクトさせたいのですが、「/」がpageNameパラメータになってしまいます。

たとえば、私はしたいです

http://localhost:18792/?pageName=HomePage

アクセスするには:

http://localhost:18792/HomePage

これは私の現在のroutes.maprouteです:

routes.MapRoute(
                name: "Default",
              url: "{controller}/{action}/{pageName}",
                defaults: new { controller = "Home", action = "Index", pageName = "HomePage" }
            );
4

1 に答える 1

4

これを行うには、各ページのルートを作成する必要があります。「デフォルト」ルートは変更しないでください。。新しいルートを追加します。

routes.MapRoute(
    name: "HomePage",
    url: "HomePage",  
    defaults: new { controller = "Home", action = "HomePage" }
);

動的ルートの場合、次を使用できます。

routes.MapRoute(
    name: "PageName",
    url: "{pageName}",  
    defaults: new { controller = "Home", action = "Index", pageName = "defaultPage" }
);

これは、「ホーム」コントローラーのアクション「インデックス」を使用して〜/ defaultpageまたは〜/homepageにマップされます。

    public ActionResult Index(string pageName)
    {
        ViewBag.Message = pageName;
        return View();
    }
于 2013-02-20T03:35:17.983 に答える