2016-12-16 65 views
1

我有兩個名爲FilmController的文件。一個在控制器文件夾中顯示我的數據庫數據,另一個在名爲API的文件夾中,它允許用戶以json格式查看數據。ASP.NET MVC5,兩個控制器,在不同的文件夾中具有相同的名稱

我的問題是,在我的導航欄中,我有一個鏈接到控制器文件夾電影文件的動作鏈接項,然後我創建了一個API。現在它不是沒有一個目標。無論如何要有針對性的。

<li>@Html.ActionLink("Films", "Index", "Film")</li> 

我想要這個指向控制器/電影文件。

+2

試試看這個http://haacked.com/archive/2010/01/12/ambiguous-controller-names.aspx/ –

回答

1

您不能使用ActionLink助手來定位特定的Controller類。

但是,您可以在RouteConfig.cs中創建第二個路由定義。讓這條路線指向另一個命名空間。然後把你的API代碼放在這個命名空間中:

routes.MapRoute(
    "API", 
    "api/{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
    new[] { "MyMvcApp.Api" } 
); 

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