asp.net mvc2我是否使用Actionlink从root直接跳转到详细信息页面

时间:2010-07-04 17:42:00

标签: asp.net-mvc-2 actionlink

在我的项目的根页面上,我在一个页面上按类别收集了许多不同的国家/地区服务。类别是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 }
        );
    }
}

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

1 个答案:

答案 0 :(得分:1)

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

等等,最后一个论点:

new { id = p.Id }

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

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

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