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());
谢谢你的帮助。