在视图中创建文件夹,我可以放置其他视图

时间:2016-12-01 09:01:00

标签: asp.net-mvc model-view-controller

我刚才有一个关于控制器管理的问题。

我只是尝试在我的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

1 个答案:

答案 0 :(得分:0)

路由不会更改视图位置搜索。它更改了Url路由(读取方式:了解用户发送请求时调用哪种Controller方法,,而不是View用于呈现的内容)。

如果您想更改默认的查看搜索位置,则应重新定义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.cs中注册Application_Start(),如下所示:

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