首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用带有Scripts.Render的ASPMVC4捆绑包的脚本延迟属性

如何使用带有Scripts.Render的ASPMVC4捆绑包的脚本延迟属性
EN

Stack Overflow用户
提问于 2013-05-30 05:40:39
回答 2查看 16.6K关注 0票数 28

我在Google和Stackoverflow上找过了,没有找到这个问题的答案。有没有什么内置的方法可以让包按照指定的方式执行,或者有人知道有人写了一个扩展助手方法来做这件事?

EN

回答 2

Stack Overflow用户

发布于 2014-06-17 04:08:29

answer above很棒。我只想快速地将我的代码粘贴到这里,以便那些想要有更简洁语法的人使用。

添加新的C#类

// --------------------------------------------------------------------------------------------------------------------
// <copyright file="Scripts7.cs" company="Believe">
//   http://believeblog.azurewebsites.net/
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

using System.Web;
using System.Web.Optimization;

namespace MVCExtension
{
    /// <summary>
    ///     The scripts.
    /// </summary>
    public static class Scripts
    {
        /// <summary>
        /// Render scripts as deferred
        /// </summary>
        /// <param name="paths">
        /// The paths.
        /// </param>
        /// <returns>
        /// The <see cref="IHtmlString"/>.
        /// </returns>
        public static IHtmlString RenderDefer(params string[] paths)
        {
            return Scripts.RenderFormat(@"<script src='{0}' defer></script>", paths);
        }
    }
}

然后,使用Razor语法:

@Scripts.RenderDefer("~/bundles/jquery")

或Webform语法:

<%: Scripts.RenderDefer("~/bundles/jquery") %>
票数 18
EN

Stack Overflow用户

发布于 2017-04-05 23:06:03

您可以使用BundleTable.Bundles.ResolveBundleUrl

<script src="@(BundleTable.Bundles.ResolveBundleUrl("~/bundles/jquery"))" defer></script>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16824347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档