ルーティング テーブルを次のように設定しました。
// ... 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 パラメータの方法はありますか?Default
aspx