7

私は約9個のコントローラーを備えたより大きなプロジェクトを持っています。プロジェクトの最後に、URL要求が変更されます。この状況に最もよく対処する方法-コントローラーの名前を変更するのは面倒すぎるようです...サーバーコードとJavaScriptのすべてのリンクを変更する必要があります

4

2 に答える 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://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs

http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

乾杯

于 2012-04-24T14:20:02.160 に答える