Webアプリケーションのコントローラクラスを作成中にタイプミスをしました。このURLは次のようになります。/ ブログ/postname そして、私はこのように見えたかった:/ ブログ/postnameより良い/ ブログ/postname。URLルート名を変更します。ASP.NET MVC
私はGlobal.asax.cs
でRegisterRoutes
を試してみました:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
"BlogPage",
"blog/{action}/{id}",
new { controller = "Blogs", action = "Index", id = "" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Blogs", action = "Index", id = "" }
);
}
protected void Application_Start()
{
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
しかし、私は
localhost:######/blog
に移動しようとすると404エラーが表示されます。 もう一度やり直さなくてもこれを修正する方法はありますか?
コントローラーの名前を変更することができます。 Visual Studioに名前の変更/リファクタリングが組み込まれています。 – maccettura
自分のルートを正しく覚えていれば、それらのルートの両方にidパラメータが必要です。私はあなたのURLに '\ controller'だけを使用できるようにするには' id = UrlParameter.Optional'を設定する必要があると思います – Dave
@maccetturaこれをどうやって説明してください。これがURLの経路を変更するかどうか教えてください。 – gunslinger