我有公司控制器,索引视图,我需要创建一个链接来显示该公司的所有联系人,
这是有效但YUK,如何重构:
<%: Html.ActionLink("Contacts", "Index/" + item.CompanyID, "Contacts")%>
感谢
答案 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字典。