将Master Page的基类从MVC2移动到MVC3

时间:2011-04-03 10:05:53

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

我正在努力将应用程序从MVC2 ASPX移动到MVC3 Razor,并且在旧的MVC2应用程序中移动基类以获得更多MasterPages。

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

代码需要知道View文件,例如。 “〜/ views / home / index.chtml”和/或布局文件,例如。 “〜/ Views / DefaultNoLogon.Master”以包含和处理正确的css和js文件。

我尝试使用web.config的Razor部分中的pageBaseType实现自己的基类,但它似乎是为View和Layout文件执行的,我找不到有关View和Layout文件的信息的执行点存在。我还尝试使用HtmlHelper实现文件逻辑,但我只能访问有关View文件的信息,并且缺少View的布局文件信息。

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

如何在MVC3 Razor app中获取有关View和Layout文件的信息?

1 个答案:

答案 0 :(得分:0)

好吧,别担心我的问题。

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

像魅力一样工作,我猜它比我的旧解决方案更具未来性,除非Guthrie在Mvc4或更高版本中对布局页面和Html助手做出根本性的改变。