【问题标题】:Move baseclasses for MasterPage from MVC2 to MVC3将母版页的基类从 MVC2 移动到 MVC3
【发布时间】:2011-07-28 14:03:33
【问题描述】:

我正在努力将应用程序从 MVC2 ASPX 移动到 MVC3 Razor,并且在为旧 MVC2 应用程序中的更多 MasterPages 移动基类时非常困难。

该基类用于在页面上自动包含 css 和 js,以便在本地环境中开发应用程序时简化快速修复和调试,但在生产环境中运行应用程序时,它必须更新并包含交付的单个最小化 css 和 js 文件来自外部 CDN。

代码需要了解视图文件,例如。 “~/views/home/index.chtml”和/或布局文件,例如。 "~/Views/DefaultNoLogon.Master" 以便正确包含和处理 css 和 js 文件。

我尝试使用 web.config 的 Razor 部分中的 pageBaseType 实现自己的基类,但它似乎是为视图和布局文件执行的,我找不到一个执行点,其中包含有关视图和布局文件的信息存在。我也尝试使用 HtmlHelper 实现文件逻辑,但我只能访问有关 View 文件的信息,并错过 View 的 Layout 文件的信息。

我不希望这种代码在 Route、Controller 或 ViewModel 中实现,因为它应该与 View 的生成直接相关。

任何想法如何在 MVC3 Razor 应用程序中获取有关视图和布局文件的信息?

【问题讨论】:

    标签: c# layout asp.net-mvc-3 view


    【解决方案1】:

    好吧,别管我的问题。

    我重新设计了自动渲染 js 和 css 文件的逻辑,这实际上更简单,效果更好。我的 Mvc3 Razor 应用程序现在能够获取视图的所有 js 和 css 文件(包括所有布局页面的 css 和 js)并将它们呈现为单个缩小文件。

    就像一个魅力,我想它比我的旧解决方案更具未来性,除非 Guthrie 在 Mvc4 或更高版本中对布局页面和 Html 助手进行根本性更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多