ASP MVC3 プロジェクトでの呼び出し:-
<h2><a href="@Url.RouteUrl("_ScientificPrograms", new { idProgramaSeleccionado = @programa.Id, nombrePrograma = @programa.NombreProgramaUrl(), IdiomaSeleccion = idioma })">@programa.NombrePrograma(@idioma)</a></h2>
次の Global.asax.cs ファイルに登録されているルートに対応します。
routes.MapRoute(
"_ScientificPrograms", // Route name
"{IdiomaSeleccion}/research/scientific-programmes/{idProgramaSeleccionado}/{nombrePrograma}/{idGrupoSeleccionado}/{nombreGrupo}",
new { controller = "Research", action = "ScientificProgrammes", IdiomaSeleccion = UrlParameter.Optional, idProgramaSeleccionado = UrlParameter.Optional, nombreGrupo = UrlParameter.Optional, idGrupoSeleccionado = UrlParameter.Optional, nombrePrograma = UrlParameter.Optional }
);
次のようなURLを生成するローカルマシンで実行すると正常に動作します:-
http://localhost/es/research/scientific-programmes/1/molecular-oncology
ただし、Web サイトがデプロイされると、同じ呼び出しでのみ生成されます。
http://deployedsite/es/research/
入りながらも
http://deployedsite/es/research/scientific-programmes/1/molecular-oncology
ページを正しく解決します。
私自身のテスト ホスティングとクライアントの QA サーバーの両方で同じ動作が見られます。他のルーティング呼び出しは正常に機能しますが、これは特別なもののようです。