【发布时间】:2014-02-10 22:43:45
【问题描述】:
在 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 }
);
在我的本地机器上运行良好,生成如下网址:-
http://localhost/es/research/scientific-programmes/1/molecular-oncology
然而,当网站被部署时,同样的调用只会产生
http://deployedsite/es/research/
虽然进入
http://deployedsite/es/research/scientific-programmes/1/molecular-oncology
正确解析页面。
在我自己的测试主机和我的客户 QA 服务器上都观察到了相同的行为。其他路由调用工作正常,但似乎这个有点特别。
【问题讨论】:
标签: asp.net-mvc-3 asp.net-mvc-routing