我正在努力将应用程序从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文件的信息?
答案 0 :(得分:0)
好吧,别担心我的问题。
我重新设计了自动渲染js和css文件的逻辑,这实际上更简单,效果更好。我的Mvc3 Razor应用程序现在能够获取视图的所有js和css文件(包括所有layoutpages的css和js)并将它们渲染为单个缩小文件。
像魅力一样工作,我猜它比我的旧解决方案更具未来性,除非Guthrie在Mvc4或更高版本中对布局页面和Html助手做出根本性的改变。