2014-04-17 110 views
0

我在配置路由時遇到問題。我的路由配置如下:c#中的MVC5路由#

 routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}", 
      defaults: new { controller = "Somepage", action = "Index", id = UrlParameter.Optional } 
     ); 

現在我有兩個控制器Sompage和Somepage2和兩個視圖文件夾Somepage和Somepage2。 在我的layout.cshtml中,我有鏈接到Somepage和Somepage2。到Somepage的鏈接工作正常,但是到Somepage2的鏈接不會呈現。在佈局文件的鏈接是

@Html.ActionLink("some page on somepage2", "somepageonsomepage2", "Somepage2", new { target = "_blank" }) 

當我點擊這個鏈接它試圖帶我到localhost/SomePage的/ somepageonsomepage2 當我想去本地主機/ Somepage2/somepageonsomepage2

我不知道在哪裏我錯了。

回答

1

您需要使用ActionLink的正確超載來指定您的控制器。默認情況下,操作鏈接的控制器將成爲視圖的控制器。所以,如果你有文件夾Home控制器HomeController和視圖Index,一個動作鏈接的默認控制器將HomeController

@Html.ActionLink("some page on somepage2", "somepageonsomepage2", "Somepage2", null, new { target = "_blank" })