私は約9個のコントローラーを備えたより大きなプロジェクトを持っています。プロジェクトの最後に、URL要求が変更されます。この状況に最もよく対処する方法-コントローラーの名前を変更するのは面倒すぎるようです...サーバーコードとJavaScriptのすべてのリンクを変更する必要があります
質問する
6354 次
2 に答える
6
この問題は、既存のルートを変更することで解決できます。global.asax には、次のようなコード フラグメントがあります。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
これは、URL '/Controller/Action/Id' を Controller、Action、および Id にマップします。このようなルートを提供できます
routes.MapRoute(
"RefactoredRoute", // Route name
"SomeChangedURLBase/{action}/{id}", // URL with parameters
new { controller = "Controller", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
リクエストを /SomeChangedURLBase... にルーティングして、Controller によって処理されるようにします。
ビューで生成されたリンクがデフォルト ルートを指し、古い URL を生成することを避けるために、これらのルートはデフォルト ルートの前に登録する必要があることに注意してください。
于 2012-04-24T14:25:47.597 に答える
1
global.asax のルーティングを変更できます
メソッド RegisterRoutes を変更するだけです
ここで、さらに詳しい情報を見つけることができます。
http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx
乾杯
于 2012-04-24T14:20:02.160 に答える