加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何在使用System.Web.Optimization时将type =“text

发布时间:2020-12-16 00:04:39 所属栏目:asp.Net 来源:网络整理
导读:我有以下内容 bundles.Add(new ScriptBundle("~/bundles/scripts/common").Include( "~/Scripts/jquery.validationEngine.js","~/Scripts/common.js")); 哪个产生 script src="/bundles/scripts/common?v=9O0Yi3fV_GWpGyJQ_QYURiOYy6SEmxUQtkUVN4GXo2U1"/scr
我有以下内容
bundles.Add(new ScriptBundle("~/bundles/scripts/common").Include(
                  "~/Scripts/jquery.validationEngine.js","~/Scripts/common.js"));

哪个产生

<script src="/bundles/scripts/common?v=9O0Yi3fV_GWpGyJQ_QYURiOYy6SEmxUQtkUVN4GXo2U1"></script>

使用时渲染

<asp:PlaceHolder ID="PlaceHolderJs" runat="server">                
            <%: Scripts.Render("~/bundles/scripts/common") %>
    </asp:PlaceHolder>

哪个不是有效的HTML,因为它缺少类型=“text / javascript”.如何使BundleCollection在脚本标记中输出此元素?

解决方法

一种方法是更改??渲染脚本的方式:

从:

@Scripts.Render("~/bundles/scripts/common")

至:

<script src="@BundleTable.Bundles.ResolveBundleUrl("~/bundles/scripts/common")" type="text/javascript"></script>

或者,根据您实施捆绑的方式,您可能需要:

<script src="@Microsoft.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/scripts/common")" type="text/javascript"></script>

或者对于网络表单:

<script src="<%= Microsoft.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/scripts/common")%>" type="text/javascript"></script>

虽然如果有办法使用@ Script.Render我想看到它.

更新:响应您的注释,如this SO answer中所述,在System.Web.Optimization的预发布版本中,有一个名为RenderFormat的选项,可以让您这样做……但我认为上面的内容是这种特殊情况更容易阅读.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读