私は多言語のMVCアプリケーションを使用しています。これには、ページコントローラによって処理される単純な「CMS」ページがいくつかあります。私が定義したルートは、次のとおりです。MVCのルートコンフリクトの問題
routes.MapRoute(
"Page",
"Page/{name}",
new { controller = "Page", action = "Index", name = "" }
);
また、私は、現在のページの言語を変更するために使用される「ベースコントローラ」で定義されたメソッドを持っています。例えば
public ActionResult ChangeCulture(Culture lang, string returnUrl)
{
if (returnUrl.Length >= 3)
{
returnUrl = returnUrl.Substring(3);
}
return Redirect("/" + lang.ToString() + returnUrl);
}
、英語、スペイン語版の「お問い合わせ」ページには、次のURLを経由して提供されていますのために: http://localhost/en/Page/ChangeCulture?lang=2&returnUrl=/es/Page/AboutUs
問題は、私がきたルートにこのURLがマップということです明らかに存在しないCMSページ用に定義されています。 URL「ページ/チェンジカルチャー」を無視できる方法はありますか?つまり、「ベースコントローラー」で定義されている正しい方法にマップされていますか?
おかげで、
ホセ
これは完全に機能しました - ありがとう。 – jose