2016-12-01 77 views
2

我剛剛得到了關於控制器管理的問題。在視圖中創建我可以放置其他視圖的文件夾

我只是試圖讓我的文件夾在我的view/{copntroller}/newFolder/currentView

我正在嘗試使用maprouting,但這並不奏效(根本不起作用:D)。

我只是嘗試把這個代碼在 「RouteConfig.cs

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

Here is a picture of current

回答

0

路由不改變視圖位置搜索。它改變Url路由(請閱讀:理解當用戶發送請求時控制器方法調用,,但不是什麼查看用於渲染)。

如果你想改變你的默認查看搜索位置,你應該重新定義ViewEngine這樣的:

public class CustomViewEngine : RazorViewEngine //Here you inherit from current ViewEngine 
{ 
    public CustomViewEngine() 
    { 
     ViewLocationFormats = new[] 
     { 
      //That's your Views loactions 
      "~/Views/{1}/Create/{0}.cshtml", 
      "~/Views/{1}/Edit/{0}.cshtml", 
     }; 
    } 
} 

這裏{0} - 是你的位指示方法名(動作),{1} - 控制器名稱。

您可以定義許多不同的位置,ViewEngine將按照定義的順序進行搜索。

你應該做的最後一件事是註冊在CustomViewEngine方法global.asax.csApplication_Start()這樣的:

ViewEngines.Engines.Clear(); 
ViewEngines.Engines.Add(new CustomViewEngine()); 
+0

感謝您的幫助。 –

相關問題