如何在MultiArea项目中共享View路径(环境:asp.net mvc3 vs2010)

简介:

环境:asp.net mvc3 vs2010

当使用多Area工作时,为了能在Area之间共享Shared目录,需要注册各自Shared地址。

在Global.asax.cs,需要如下添加不同Area的Engine:

 
  1.  
  2. [csharp] view plaincopy  
  3. 01.public class MvcApplication : System.Web.HttpApplication    
  4. 02.{    
  5. 03....    
  6. 04.    
  7. 05.    protected void Application_Start()    
  8. 06.    {    
  9. 07.        RegisterRoutes(RouteTable.Routes);    
  10. 08.        ViewEngines.Engines.Add(new AgileViewEngine());    
  11. 09.        ViewEngines.Engines.Add(new MySpaceViewEngine());    
  12. 10.        ViewEngines.Engines.Add(new SFCViewEngine());    
  13. 11.    }    
  14. 12.}    
  15. 13.public class AgileViewEngine : RazorViewEngine    
  16. 14.{    
  17. 15.    private static string[] NewPartialViewFormats = new[] {    
  18. 16.        "~/Areas/Agile/Views/Shared/{0}.cshtml",    
  19. 17.    };    
  20. 18.    
  21. 19.    public AgileViewEngine()    
  22. 20.    {    
  23. 21.        basebase.PartialViewLocationFormats = base.PartialViewLocationFormats.Union(NewPartialViewFormats).ToArray();    
  24. 22.    }    
  25. 23.}    
  26. 24.public class MySpaceViewEngine : RazorViewEngine    
  27. 25.{    
  28. 26.    private static string[] NewPartialViewFormats = new[] {    
  29. 27.        "~/Areas/MySpace/Views/Shared/{0}.cshtml"    
  30. 28.    };    
  31. 29.    
  32. 30.    public MySpaceViewEngine()    
  33. 31.    {    
  34. 32.        basebase.PartialViewLocationFormats = base.PartialViewLocationFormats.Union(NewPartialViewFormats).ToArray();    
  35. 33.    }    
  36. 34.}    
  37. 35.public class SFCViewEngine : RazorViewEngine    
  38. 36.{    
  39. 37.    private static string[] NewPartialViewFormats = new[] {    
  40. 38.        "~/Areas/SFC/Views/Shared/{0}.cshtml"    
  41. 39.    };    
  42. 40.    
  43. 41.    public SFCViewEngine()    
  44. 42.    {    
  45. 43.        basebase.PartialViewLocationFormats = base.PartialViewLocationFormats.Union(NewPartialViewFormats).ToArray();    
  46. 44.    }    
  47. 45.}    

这样,这三个Area的Views/Shared目录就可以共享了。


本文转自火星人陈勇 51CTO博客,原文链接:http://blog.51cto.com/cheny/1101218

相关文章
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
196 0
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
327 0
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
安全 算法 编译器
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
【10月更文挑战第30天】在.NET 9 中,AOT(Ahead-of-Time)编译技术在支持老旧的 Windows 7 和 XP 系统方面取得了显著进展。主要突破包括:性能提升(启动速度加快、执行效率提高)、部署优化(无需安装.NET 运行时、减小应用程序体积)、兼容性保障(编译策略优化、依赖项管理改进)以及安全性增强(代码保护机制)。这些改进使得应用程序在老旧系统上运行更加流畅、高效和安全。
592 2
|
XML 安全 API
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
.NET 9开始,AOT支持Win7和XP,不仅仅只支持SP1版本
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
320 7
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
298 1
|
缓存 开发框架 .NET
看看 Asp.net core Webapi 项目如何优雅地使用内存缓存
看看 Asp.net core Webapi 项目如何优雅地使用内存缓存
327 1
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
329 0
|
Linux C# C++
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
189 0