2010-06-30 55 views
0

我有companycontroller,索引視圖,我需要創建一個鏈接到dispaly這家公司的所有聯繫人,Html.ActionLink asp.net-MVC

這是工作,但秀,如何重構這個:

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

感謝

+0

該工程?哇,給我的消息。 – jfar 2010-06-30 03:13:17

回答

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 } 
    ); 
} 

如果需要指定控制器名稱試試這個(不要忘記在最後一個參數 - HTML特性,我想過去在這裏空):

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

或不指定所述控制器(用電流控制器):

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

感謝它的工作:<%:Html.ActionLink(「Contacts」,「Index」,「Contacts」,new {id = item.CompanyID},null)%> – Bart 2010-06-30 06:39:00

0

那是相當......不同...

通常情況下這將是:

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

最後一個參數是一個匿名對象,它被轉換成路由值字典。

+0

它給我:http:// localhost:14501/companies?長度= 8,我目前的網址是:http:// localhost:14501/companies,我需要這個:http:// localhost:14501/Contacts /索引/ 4 7是公司ID – Bart 2010-06-30 03:55:14

+1

它必須是新的{id = item.CompanyID} – 2010-06-30 06:28:29

+0

@Malcom Frexner - 不一定。我假設他的路由值是CompanyID。 – jfar 2010-06-30 13:03:52