在我的项目的根页面上,我在一个页面上按类别收集了许多不同的国家/地区服务。类别是View文件夹中单独区域中的“索引”页面,特定服务是“详细信息”视图。我希望用户能够直接跳过(在本例中为中国)区域中的类别到该特定服务细节。
我有这个:
<%=Html.ActionLink("More Info", "Details", "ParticularChinaServiceControllerName", new { area = "China" }, new { id = p.ID })%>
但框架不会拿起id。
该路线注册为: 公共覆盖字符串AreaName { 得到 { 回归“中国”; } }
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"China_default",
"China/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
有人可以告诉我如何使这项工作正常吗?
答案 0 :(得分:1)
将您的控制器名称从“ParticularChinaServiceController”更改为“ParticularChinaService”,看看是否能解决问题。
等等,最后一个论点:
new { id = p.Id }
...实际上是htmlAttributes参数,并将该id应用为html中生成的超链接的属性。将上一个参数更改为:
new { area = "China", id = p.Id }
删除最后一个参数(除非您需要应用某些特定的客户端属性)。