ルーティング テーブルを次のように設定しました。
// ... specific routes
routes.MapRoute(
"aspx",
"{controller}.aspx/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional });
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional });
/Foo.aspxこれにより、やのような URL/Fooを に適切にルーティングできますFooController.Index。これは下位互換性のために追加されたと思います。ただし、 を使用UrlHelperして URL を生成するために を使用する場合UrlHelper.Action、より醜いバージョンの URL が使用されます。たとえば、Url.Action("Bar", "Foo")利回りFoo.aspx/Barです。
生成された URL がよりクリーンなDefaultルートを使用するようにします。これは、2 つのMapRoute呼び出しを交換すると機能しますが、プレースホルダーに含まれていると見なされるため、/Foo.aspxルーティングされなくなります。FooController.aspx{controller}
ルートをルートの前にMapRoute配置し、両方を機能させることができるURL パラメータの方法はありますか?Defaultaspx