asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – 是否有一个简单的方法来呈现具有Microsoft Web Optimization框架/脚本捆绑的绝对URL?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Microsoft的Web Optimization框架来呈现 JavaScript包,如下所示:
@Scripts.Render("~/assets/bundle.js")

并建立一个小捆,像这样:

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/assets/bundle.js")
        .Include(
            "~/scripts/jquery-2.1.0.min.js","~/scripts/somescript.js"
        ));

    ...
}

但是,当优化开启时,它只呈现相对URL,如下所示:

<script src="/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>

如何使用脚本捆绑代替绝对URL?我找不到一种方法来查看MSDN上的文档.这是我最终会喜欢的:

<script src="http://my.site.com/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>

这是在框架中,还是要用Script.Url滚动一个帮助方法?

解决方法

一个简单的方法是 Scripts.RenderFormat
@Scripts.RenderFormat("<script src='http://my.site.com{0}'></script>","~/assets/bundle.js")

从请求中获取URL的方式.似乎没有使用RenderFormat的多个参数,所以这就是为什么它看起来有点丑陋:

@Scripts.RenderFormat("<script src='//" + @request.Url.Host + "/{0}'></script>","~/assets/bundle.js")

或者更好的是,集中一个函数以获得正确的路径(使用虚构函数):

@Scripts.RenderFormat("<script src='" + @Tools.GetRootURL() + "{0}'></script>","~/assets/bundle.js")

此外,您不需要捆绑包上的.js:

bundles.Add(new ScriptBundle("~/assets/bundle")

大佬总结

以上是大佬教程为你收集整理的asp.net – 是否有一个简单的方法来呈现具有Microsoft Web Optimization框架/脚本捆绑的绝对URL?全部内容,希望文章能够帮你解决asp.net – 是否有一个简单的方法来呈现具有Microsoft Web Optimization框架/脚本捆绑的绝对URL?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。