0

カスタム ルーティング システム ASP.NET MVC 4 プロジェクトを作成して、Web サイトを多言語化したいと考えています。そして、localhost/en/controllerName/actionName のような URL でカルチャ パラメータを実行したいと考えています。しかし、問題は、たとえば localhost/home ルーティング エンジンが "home" をカルチャ名として想定している場合です。どうすればこの問題を解決できますか?

4

1 に答える 1

0

すべてのルートでカルチャ パラメータを適用する場合は、次のようなものを使用できます。

routes.MapRoute(
    name: "LocalizedDefault",
    url: "{lang}/{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    constraints: new { lang = @"(es|en|fr)" }
);

それでも に応答したい場合はlocalhost/home、上記のルートの後にデフォルト ルートを設定してください。そうすると、最初のルートは制約のために一致せず、2 番目のルートにフォールバックします。

 routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
于 2012-12-22T17:42:56.500 に答える