Html.ActionLink asp.net-MVC

时间:2010-06-30 02:41:35

标签: asp.net-mvc

我有公司控制器,索引视图,我需要创建一个链接来显示该公司的所有联系人,

这是有效但YUK,如何重构:

  <%: Html.ActionLink("Contacts", "Index/" + item.CompanyID, "Contacts")%>  

感谢

2 个答案:

答案 0 :(得分:2)

假设您使用的是默认路线:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        "Default",
        "{controller}/{action}/{id}",
        new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

如果你需要指定控制器名称,试试这个(不要忘记最后一个参数 - 我在这里传递给null的html属性):

<%: Html.ActionLink("Contacts", "Index", "Contacts", new { id = item.CompanyID }, null) %>

或未指定控制器(使用当前控制器):

<%: Html.ActionLink("Contacts", "Index", new { id = item.CompanyID }) %>

答案 1 :(得分:0)

多么......不同......

通常情况是:

<%: Html.ActionLink("Contacts", "Index", "Contacts", new { item.CompanyID } )%>

最后一个参数是一个匿名对象,它被翻译成一个routevalue字典。