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

相关文章
|
2月前
|
开发框架 前端开发 .NET
一个适用于 .NET 的开源整洁架构项目模板
一个适用于 .NET 的开源整洁架构项目模板
73 26
|
1月前
|
传感器 人工智能 机器人
D1net阅闻|OpenAI机器人项目招新 或自研传感器
D1net阅闻|OpenAI机器人项目招新 或自研传感器
|
2月前
|
开发框架 安全 .NET
【Azure Developer】.NET Aspire 项目本地调试遇 Grpc.Core.RpcException 异常( Error starting gRPC call ... )
Error starting gRPC call. HttpRequestException: The SSL connection could not be established, see inner exception. AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot
79 12
|
3月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
4月前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
197 3
|
5月前
|
开发框架 前端开发 API
C#/.NET/.NET Core优秀项目和框架2024年9月简报
C#/.NET/.NET Core优秀项目和框架2024年9月简报
113 1
|
6月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
173 4
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
5月前
|
存储 消息中间件 前端开发
.NET常见的几种项目架构模式,你知道几种?
.NET常见的几种项目架构模式,你知道几种?
178 0
|
5月前
|
边缘计算 开发框架 人工智能
C#/.NET/.NET Core优秀项目和框架2024年8月简报
C#/.NET/.NET Core优秀项目和框架2024年8月简报
115 0

热门文章

最新文章