Asp.net 有没有一种简单的方法可以通过Microsoft Web优化框架/脚本绑定呈现绝对URL?

Asp.net 有没有一种简单的方法可以通过Microsoft Web优化框架/脚本绑定呈现绝对URL?,asp.net,bundling-and-minification,scriptbundle,Asp.net,Bundling And Minification,Scriptbundle,我正在尝试使用Microsoft的Web优化框架呈现JavaScript包,如下所示: @Scripts.Render("~/assets/bundle.js") public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/assets/bundle.js") .Include( "~/scripts/jquery-2

我正在尝试使用Microsoft的Web优化框架呈现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"
        ));

    ...
}
<script src="/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>
然后构建一个小捆绑包,如下所示:

@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"
        ));

    ...
}
<script src="/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>
但当启用优化时,它只呈现一个相对URL,如下所示:

@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"
        ));

    ...
}
<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
滚动助手方法?

一个简单的方法是:


. 虽然IDK如果有一个更好的方式做在新版本的捆绑。你这样做的最终目的是什么?不幸的是,它仍然解析为一个相对URL。相对路径通常适用于浏览器,但不适用于不提供baseURL的UI控件(例如在iOS中);我同意这样做是可行的,不过如果我真的希望它离开主机/虚拟应用程序路径,那么我必须为每个环境配置一个根URL。如果它确实不在框架中,那么我会尝试从请求中推断出来。@BrandonLinton增加了从请求中确定URL的方法。