2012-12-17 81 views
0

我正在使用asp.net mvc4構建webapge。對於組織,我想將一些控制器放在Controllers文件夾的子文件夾中。例如:在子文件夾中使用Html.Action與控制器

Controllers 
    AccountController 
    BlahController 
    Dashboard (Folder) 
    ChickenController 
    BeefController 

要使用BeefController(它返回一個局部視圖),它好像我應該使用:

@Html.Action("Index", "Dashboard/BeefDashboard") 

然而,這讓我以下錯誤:

The controller for path '/' was not found or does not implement IController. 

我將如何能夠使用BeefController?

+1

ASP.Net MVC不做子文件夾。你應該使用區域。 – SLaks

+0

閱讀有關區域,看起來它們是針對具有不同顧慮的網站的不同區域,例如客戶支持,產品目錄等。這對於將顯示在每個頁面上的儀表板,但是其內容在角色上是悔恨的。它看起來像區域可能是我唯一的選擇。 – Mason240

回答

1

ASP.NET MVC世界中沒有物理子文件夾的概念。你應該做的是在儀表板控制器中有一個操作方法,它接受一個參數,然後根據它返回特定的視圖。現在

public class DashBoardController: Controller 
{ 
    public ActionMethod Index(string id) 
    { 
    if(id=="chicken") 
    { 
     return PartialView("Chicken"); 
    } 
    else if(id=="beef") 
    { 
     return PartialView("beef"); 
    } 
    return View("NotFound"); 
    } 

} 

,您可以訪問那些喜歡

Dashboard/beef 
Dashboard/chicken 
相關問題