从ASP.NET MVC 4中的部分或编辑器模板触发包含

Ron*_*rby 2 .net asp.net bundle asp.net-mvc-4 asp.net-optimization

我正在构建一个基于ASP.NET MVC 4的框架.我喜欢MVC4中的新捆绑功能,但我遇到了一个问题,我不确定新的捆绑功能是否能解决这个问题.

我的布局视图在之前的页面底部呈现它的脚本包</body>.

由于我的项目是一个框架,因此该视图不知道该页面所需的所有包.我的项目正在大量使用编辑器模板,可能需​​要包含一些javascript,但无法在编辑器模板中呈现它,因为:

  • 该脚本只需包含一次,编辑器模板可以多次呈现.
  • 该脚本可能依赖于其他javascript库,如jQuery,尚未包含(它们在页面底部呈现).

所以,我想在编辑器模板中做的是这样的事情:

@Scripts.TriggerInclusion("~/path/to/bundle/that/this/editor/needs")
Run Code Online (Sandbox Code Playgroud)

这将导致bundle脚本标记仅向页面末尾呈现一次.

我可以把这个构建到我的项目的基础设施中,但是我希望这种事情已经得到了某种支持.谢谢!

Ron*_*rby 8

我自己动手了.这对我来说很容易构建和运行.

https://github.com/ronnieoverby/MvcAssetManager/blob/master/MvcAssetManager/Infrastructure/AssetManager.cs

可能存在一些错误,我没有太多使用它,因为我的大多数项目仍然是MVC3.但是我用它很少,它完成了诀窍.