C# 在html中使用Bundleconfig

C# 在html中使用Bundleconfig,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,我们可以在HTML页面中使用以下捆绑包而不是CSHTML吗。捆绑包配置是否在HTML中工作 @Scripts.Render("~/js") 另外,我们可以按照加载页面加载JS文件吗?不在常规HTML页面中,因为常规HTML不会通过Razor处理引擎传递,而@Scripts.Render()是使用ASP.NET Razor语法调用的C方法(@告诉Razor引擎将下一个代码段解释为代码而不是标记) 如果您这样做,它可能会直接将文本@Scripts.Render(“~/js”)输出到屏幕上。如果您希

我们可以在HTML页面中使用以下捆绑包而不是CSHTML吗。捆绑包配置是否在HTML中工作

@Scripts.Render("~/js")

另外,我们可以按照加载页面加载JS文件吗?

不在常规HTML页面中,因为常规HTML不会通过Razor处理引擎传递,而
@Scripts.Render()
是使用ASP.NET Razor语法调用的C方法(
@
告诉Razor引擎将下一个代码段解释为代码而不是标记)


如果您这样做,它可能会直接将文本@Scripts.Render(“~/js”)输出到屏幕上。

如果您希望通过JavaScript按需动态加载包,下面的代码可能会帮助您

<script>
        (function (w, d) {
            this.load = function (p, c) {
                if (typeof p == 'string' && (p = [].push(p)), Object.prototype.toString.call(p) === '[object Array]') {
                    for (var i in p) {
                        var s = d.createElement('script'); s.type = 'text/javascript'; s.src = p[i]; s.async = false;
                        var h = d.getElementsByTagName('head'); if (h[0]) { h[0].appendChild(s); }
                    } c && (s.onreadystagechange = c, s.onload = c);
                }
            }
            return this;
        }(window, document));


        var appjs='@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/scripts/app")';
        load('s', ['https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js', 'https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js', 'https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.min.js'], function () {
            load('s', [appjs']);
        });
    </script>

(功能(w,d){
this.load=函数(p,c){
if(typeof p=='string'&(p=[].push(p)),Object.prototype.toString.call(p)=='[Object Array]'){
对于(p中的var i){
var s=d.createElement('script');s.type='text/javascript';s.src=p[i];s.async=false;
var h=d.getElementsByTagName('head');if(h[0]){h[0].appendChild;}
}c&(s.onreadystagechange=c,s.onload=c);
}
}
归还这个;
}(窗口、文件);
var appjs='@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl(“~/scripts/app”);
加载('s',['https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js', 'https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js', 'https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.min.js'],函数(){
加载('s',[appjs']);
});

谢谢你的回答@ADyson。还有其他方法捆绑文件吗?我正在使用angular、HTML和asp.net。使用CSHTML页面有什么问题吗?你仍然可以使用angular。是的。我现在正在改成CSHTML。。!!