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