【发布时间】:2018-04-01 19:49:54
【问题描述】:
我的 mvc 站点中有一个名为 adpan 的区域,其路由配置如下:
context.MapRoute(
"adpan_clinics",
"adpan/DoctorClinics/{doctorObj}/{controller}/{action}/{clinicObj}",
new { action = "Index", Controller = "Clinics", clinicObj = UrlParameter.Optional }
);
context.MapRoute(
"adpan_default",
"adpan/{controller}/{action}/{obj}",
new { action = "Index", Controller = "Dashboard", obj = UrlParameter.Optional }
);
我使用 T4MVC 进行路由。一切正常,直到我想使用操作链接从 adpan_clinics 路由回 adpan_default。
场景)我有以下网址:
第一个网址) http://localhost/adpan/Doctors/Index
第二个网址) http://localhost/adpan/DoctorClinics/doctor1/Clinics/index
我可以通过 1st url 的 视图上的操作链接重定向到 2nd url,如下所示:
@Html.ActionLink("Manage Clinics", MVC.adpan.Clinics.Index().AddRouteValues(new { doctorObj = item.Url }))
但是,当使用以下操作链接重定向回 第一个 url 时,我遇到了 url 附加问题:
@Html.ActionLink("Back to Doctors", MVC.adpan.Doctors.Index())
此操作链接为我提供了以下 错误 url 而不是 第一个 url(尽管页面加载正确!):
错误的网址) http://localhost/adpan/DoctorClinics/doctor1/Doctors
注意:我也尝试过不使用 T4MVC 并在操作链接参数中指定空值,如下所示,但仍然得到 错误的 url:
@Html.ActionLink("Back to Doctors", "Index", "Doctors", null, null)
我只是在 adpan 区域工作,有 2 条路线。
如果可能的话,我将不胜感激从那个错误的网址获得正确视图的原因。
【问题讨论】:
标签: asp.net-mvc url routes asp.net-mvc-areas t4mvc