Google と Stackoverflow を調べましたが、これに対する答えが見つかりませんでした。バンドルをdefferedとして実行する組み込みの方法はありますか、または誰かがこれを行うために作成した拡張ヘルパーメソッドを知っていますか?
17058 次
4 に答える
18
上記の答えは素晴らしいです。より簡潔な構文が必要な人のために、コードをここにすばやく貼り付けたいだけです。
新しい 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")
または Web フォームの構文:
<%: Scripts.RenderDefer("~/bundles/jquery") %>
于 2014-06-16T20:08:29.207 に答える