0

在我项目的根页面上,我在一个页面上按类别收集了许多不同的国家/地区服务。类别是单独区域中视图文件夹中的“索引”页面,特定服务是“详细信息”视图。我希望用户能够直接跳过(在本例中为中国)区域中的类别到特定的服务详细信息。

我有这个:

<%=Html.ActionLink("More Info", "Details", "ParticularChinaServiceControllerName", new { area = "China" }, new { id = p.ID })%>

但框架不会获取 id。

路由注册为:public override string AreaName { get { return "China"; } }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "China_default",
            "China/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }
}

有人可以告诉我如何使这项工作正常吗?

4

1 回答 1

1

将您的控制器名称从“ParticularChinaServiceController”更改为“ParticularChinaService”,看看是否能解决问题。

等等,最后一个论点:

new { id = p.Id }

...实际上是 htmlAttributes 参数,并将该 id 应用为 html 中生成的超链接的属性。将前面的参数更改为:

new { area = "China", id = p.Id }

并删除最后一个参数(除非您需要应用一些特定的客户端属性)。

于 2010-07-04T17:46:20.777 回答