修改视图引擎搜索视图规则,实现Mvc多级目录结构
修改视图引擎搜索视图规则,实现Mvc多级目录结构
在Mvc开发中,好的结构目录更有利于开发。
例如:
要实现mvc 目录结构 自定义 很容易,只需添加我们自己的视图检索规则即可。
在Global.asax.cs中添加如下代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
protected void RegisterView()
{
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new MyViewEngine());
}
public sealed class MyViewEngine : RazorViewEngine
{
public MyViewEngine()
{
ViewLocationFormats = new[]
{
"~/Views/{1}/{0}.cshtml",
"~/Views/Shared/{0}.cshtml",
"~/Views/user/{1}/{0}.cshtml" //我们的规则
};
}
}
|
然后
|
1
2
3
4
5
6
7
8
|
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
RegisterView();//调用
}
|
这样就很简单的实现了,清晰的目录结构,以上是MVC4.0中的写法。
Mvc2.0写法如下,唯一不同的是:
Mvc2.0继承WebFormViewEngine.
Mvc4.0继承RazorViewEngine.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
protected class WebViewEngine : WebFormViewEngine
{
public WebViewEngine()
{
base.MasterLocationFormats = new string[] { "~/Views/{1}/{0}.master", "~/Views/Shared/{0}.master" };
base.ViewLocationFormats = new string[] {
"~/Views/Users/{1}/{0}.aspx",
//"~/Views/Search/{0}.ascx",
"~/Views/Shared/{0}.ascx",
"~/Views/{1}/{0}.aspx"};
base.PartialViewLocationFormats = base.ViewLocationFormats;
}
}
|
转载文章请注明,转载自:胡航飞博客 [http://www.huhangfei.com]


浙公网安备 33010602011771号