Asp.net mvc 在视图中创建可以放置其他视图的文件夹

Asp.net mvc 在视图中创建可以放置其他视图的文件夹,asp.net-mvc,model-view-controller,Asp.net Mvc,Model View Controller,我刚问了一个关于控制器管理的问题 我只是尝试在我的视图/{copcontroller}/newFolder/currentView中获取文件夹 我试图使用maprouting,但效果不好(根本不起作用:D) 我只是尝试将此代码放入“RouteConfig.cs”中 路由不会更改视图位置搜索。它改变了Url路由(读起来像:了解当用户发送请求时控制器方法调用什么,,但不了解视图用于呈现什么 如果要更改默认视图搜索位置,应重新定义ViewEngine,如下所示: public class Custo

我刚问了一个关于控制器管理的问题

我只是尝试在我的
视图/{copcontroller}/newFolder/currentView
中获取文件夹

我试图使用maprouting,但效果不好(根本不起作用:D)

我只是尝试将此代码放入“
RouteConfig.cs
”中


路由不会更改视图位置搜索。它改变了
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",  
        };
    }
 }
 ViewEngines.Engines.Clear();
 ViewEngines.Engines.Add(new CustomViewEngine());
这里
{0}
-是您的控制器方法名称(操作),
{1}
-控制器名称

您可以定义许多不同的位置,ViewEngine将按定义的顺序进行搜索

最后一件事是在
global.asax.cs
方法
Application\u Start()
中注册
CustomViewEngine
,如下所示:

 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",  
        };
    }
 }
 ViewEngines.Engines.Clear();
 ViewEngines.Engines.Add(new CustomViewEngine());

谢谢你的帮助。