Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从ASP.NET MVC 4中的部分或编辑器模板触发包包含_Asp.net_.net_Asp.net Mvc 4_Bundle_Asp.net Optimization - Fatal编程技术网

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

从ASP.NET MVC 4中的部分或编辑器模板触发包包含,asp.net,.net,asp.net-mvc-4,bundle,asp.net-optimization,Asp.net,.net,Asp.net Mvc 4,Bundle,Asp.net Optimization,我正在ASP.NETMVC4之上构建一个框架。我喜欢MVC4中新的捆绑功能,但我遇到了一个问题,我不确定新的捆绑功能是否解决了这个问题 我的布局视图在之前的页面底部呈现它的脚本包 由于我的项目是一个框架,视图并不知道页面需要的所有捆绑包。我的项目大量使用编辑器模板,可能需要包含一些javascript,但无法在编辑器模板中呈现,因为: 脚本只需要包含一次,编辑器模板可以呈现多次 该脚本可能依赖于其他javascript库,如jQuery,它们还没有包括在内(它们在页面底部呈现) 因此,我想在

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

我的布局视图在
之前的页面底部呈现它的脚本包

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

  • 脚本只需要包含一次,编辑器模板可以呈现多次
  • 该脚本可能依赖于其他javascript库,如jQuery,它们还没有包括在内(它们在页面底部呈现)
因此,我想在编辑器模板中执行以下操作:

@Scripts.TriggerInclusion("~/path/to/bundle/that/this/editor/needs")
这将导致bundle脚本标记只在页面末尾呈现一次


我可以不辞辛劳地将其构建到我的项目的基础设施中,但我希望这种事情已经得到了某种支持。谢谢

这是我们在待办事项列表中跟踪的内容,它是一个相当复杂的功能,因此我们可能不会在几个版本中使用它

我们早期的想法基本上是:

  • 允许注册命名资产,即资产。注册(“jquery”)。包括(“~/scripts/jquery.js”)
  • 允许在捆绑包中按名称包含资产
  • 添加类似于
    Scripts.reques(“jquery”)
    的内容,这类似于TriggerInclusion,它基本上在页面上注册jquery资产
  • 类似于
    Scripts.RenderRegistered()
    的功能可以在您选择的位置呈现页面上所有已注册的脚本,还可以执行资产重复数据消除等操作

我们不确定这项功能的优先级有多高,所以如果这是您真正想要的,我在上创建了一个问题,投赞成票。

我自己做了。它很容易建造,对我来说效果很好


可能有一些bug,我没有太多地使用它,因为我的大多数项目仍然是MVC3。但是我很少使用它,它就成功了。

既然我已经发布了我的codeSure,我们能摆脱那次否决票吗!你甚至可以得到一个很好的、干净的解决方案。很好的解决方案,因为你无法控制顺序或脚本包含,所以你只需要从每个部分请求你需要的所有包。真不敢相信这样的东西不是汉克造的。是的,这似乎是一个严重的疏忽。我只使用了RequireBundle。请问包含一个脚本的语法是什么?还是这样吗?卡带提供了这是一个明确的奖金。