如何在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

相关文章
|
1月前
|
SQL 关系型数据库 MySQL
分享一个 .Net core Console 项目使用 SqlSugar 的详细例子
分享一个 .Net core Console 项目使用 SqlSugar 的详细例子
111 0
|
20天前
|
jenkins 测试技术 持续交付
解锁.NET项目高效秘籍:从理论迷雾到实践巅峰,持续集成与自动化测试如何悄然改变游戏规则?
【8月更文挑战第28天】在软件开发领域,持续集成(CI)与自动化测试已成为提升效率和质量的关键工具。尤其在.NET项目中,二者的结合能显著提高开发速度并保证软件稳定性。本文将从理论到实践,详细介绍CI与自动化测试的重要性,并以ASP.NET Core Web API项目为例,演示如何使用Jenkins和NUnit实现自动化构建与测试。每次代码提交后,Jenkins自动触发构建流程,通过编译和运行NUnit测试确保代码质量。这种方式不仅节省了时间,还能快速发现并解决问题,推动.NET项目开发迈向更高水平。
34 8
|
20天前
|
架构师 开发者
【悬念揭秘】DDD:那片隐藏在软件深处的业务乐土——.NET项目如何借力领域驱动设计,让复杂业务逻辑迎刃而解?
【8月更文挑战第28天】领域驱动设计(DDD)在.NET项目中的应用聚焦于将业务领域知识与软件开发紧密结合,通过构建清晰的领域模型管理复杂业务逻辑。DDD的核心概念包括限界上下文、聚合、实体等,确保模型与实现的统一。在.NET中,通过CQRS和事件源等模式提高系统响应性和可扩展性,实现业务事件驱动的解耦与协作。DDD不仅是一种设计方法,更是要求开发者深入理解业务的文化,助力.NET项目应对复杂挑战,实现业务与技术的融合。
41 6
|
20天前
|
设计模式 存储 前端开发
揭秘.NET架构设计模式:如何构建坚不可摧的系统?掌握这些,让你的项目无懈可击!
【8月更文挑战第28天】在软件开发中,设计模式是解决常见问题的经典方案,助力构建可维护、可扩展的系统。本文探讨了.NET中三种关键架构设计模式:MVC、依赖注入与仓储模式,并提供了示例代码。MVC通过模型、视图和控制器分离关注点;依赖注入则通过外部管理组件依赖提升复用性和可测性;仓储模式则统一数据访问接口,分离数据逻辑与业务逻辑。掌握这些模式有助于开发者优化系统架构,提升软件质量。
33 5
|
20天前
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
41 0
|
24天前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
10天前
|
JSON 测试技术 C#
C#/.NET/.NET Core优秀项目框架推荐榜单
C#/.NET/.NET Core优秀项目框架推荐榜单
|
17天前
|
C# Windows 开发者
超越选择焦虑:深入解析WinForms、WPF与UWP——谁才是打造顶级.NET桌面应用的终极利器?从开发效率到视觉享受,全面解读三大框架优劣,助你精准匹配项目需求,构建完美桌面应用生态系统
【8月更文挑战第31天】.NET框架为开发者提供了多种桌面应用开发选项,包括WinForms、WPF和UWP。WinForms简单易用,适合快速开发基本应用;WPF提供强大的UI设计工具和丰富的视觉体验,支持XAML,易于实现复杂布局;UWP专为Windows 10设计,支持多设备,充分利用现代硬件特性。本文通过示例代码详细介绍这三种框架的特点,帮助读者根据项目需求做出明智选择。以下是各框架的简单示例代码,便于理解其基本用法。
55 0
|
17天前
|
Java Spring UED
Spring框架的异常处理秘籍:打造不败之身的应用!
【8月更文挑战第31天】在软件开发中,异常处理对应用的稳定性和健壮性至关重要。Spring框架提供了一套完善的异常处理机制,包括使用`@ExceptionHandler`注解和配置`@ControllerAdvice`。本文将详细介绍这两种方式,并通过示例代码展示其具体应用。`@ExceptionHandler`可用于控制器类中的方法,处理特定异常;而`@ControllerAdvice`则允许定义全局异常处理器,捕获多个控制器中的异常。
33 0
|
23天前
|
C# C++
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found