枕上从妨一夜睡,灯前读尽十年诗。这篇文章主要讲述什么填充ScriptResourceMapping?相关的知识,希望能为你提供帮助。
【什么填充ScriptResourceMapping()】asp.net如何/在哪里填充System.Web.UI.ScriptManager.ScriptResourceMapping
?当我调试一个未触及的空ASP.Net webforms项目(如果重要的是针对.NET 4.6.1)并在Application_Start(object sender, EventArgs e)
的开头设置断点时,已经有15个定义:
文章图片
调用堆栈没有告诉我在此之前运行了什么代码(只是说[外部代码])并且整个解决方案中引用
ScriptManager
的唯一位置是在BundleConfig#RegisterBundles()
中,这是在我的断点之后调用并且只添加单个定义。我问的原因是我最近被带到另一个项目的故障排除,我发现由于某种原因,它有一个几乎空的ScriptResourceMapping,我最终从模板项目的调试器中复制值,并在代码中手动添加它们项目失灵。我只是想更好地了解出了什么问题。
同样,这个问题是关于一个全新的webform项目如何填充
ScriptResourceMapping
s。这是项目的packages.conf。请注意,有一些ScriptManager包。也许这些包中的东西将定义加载到ScriptManager中。<
?xml version="1.0" encoding="utf-8"?>
<
packages>
<
package id="Antlr" version="3.4.1.9004" targetFramework="net461" />
<
package id="AspNet.ScriptManager.bootstrap" version="3.0.0" targetFramework="net461" />
<
package id="AspNet.ScriptManager.jQuery" version="1.10.2" targetFramework="net461" />
<
package id="bootstrap" version="3.0.0" targetFramework="net461" />
<
package id="jQuery" version="1.10.2" targetFramework="net461" />
<
package id="Microsoft.ApplicationInsights" version="2.2.0" targetFramework="net461" />
<
package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.0.6" targetFramework="net461" />
<
package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.2.0" targetFramework="net461" />
<
package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.2.0" targetFramework="net461" />
<
package id="Microsoft.ApplicationInsights.Web" version="2.2.0" targetFramework="net461" />
<
package id="Microsoft.ApplicationInsights.WindowsServer" version="2.2.0" targetFramework="net461" />
<
package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.2.0" targetFramework="net461" />
<
package id="Microsoft.AspNet.FriendlyUrls" version="1.0.2" targetFramework="net461" />
<
package id="Microsoft.AspNet.FriendlyUrls.Core" version="1.0.2" targetFramework="net461" />
<
package id="Microsoft.AspNet.ScriptManager.MSAjax" version="5.0.0" targetFramework="net461" />
<
package id="Microsoft.AspNet.ScriptManager.WebForms" version="5.0.0" targetFramework="net461" />
<
package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
<
package id="Microsoft.AspNet.Web.Optimization.WebForms" version="1.1.3" targetFramework="net461" />
<
package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.7" targetFramework="net461" />
<
package id="Microsoft.Net.Compilers" version="2.1.0" targetFramework="net461" developmentDependency="true" />
<
package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
<
package id="Modernizr" version="2.6.2" targetFramework="net461" />
<
package id="Newtonsoft.Json" version="6.0.4" targetFramework="net461" />
<
package id="Respond" version="1.2.0" targetFramework="net461" />
<
package id="WebGrease" version="1.5.2" targetFramework="net461" />
<
/packages>
答案
ScriptResourceMapping
类(System.Web.UI)看起来像死路一条。ScriptManager类看起来更有前途。它有一个
ScriptResourceMapping
财产。下面的链接显示了如何创建可由ScriptManager对象引用的ScriptResourceDefinition
对象。“将以下代码添加到Application_Start事件中的Global.asax文件中。”
ScriptResourceDefinition myScriptResDef = new ScriptResourceDefinition();
myScriptResDef.Path = "~/Scripts/jquery-1.4.2.min.js";
myScriptResDef.DebugPath = "~/Scripts/jquery-1.4.2.js";
myScriptResDef.CdnPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js";
myScriptResDef.CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.js";
ScriptManager.ScriptResourceMapping.AddDefinition("jquery", null, myScriptResDef);
然后有关于将
scripts
元素添加到脚本管理器的更多信息。https://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.scriptresourcemapping(v=vs.110).aspx
我猜测.NET一旦看到包文件就会以类似的方式处理这个问题,但我(仍)不确切知道何时何地。 (在构建?)Hth。
推荐阅读
- DotNetCore.NPOI和.Net Core 2 MVC Web App
- 当jboss 7服务器启动时,在jndi查找中获取appname
- 无法引用webapp struts中的资源
- Android Firebase FireStore实时更新分页
- 将Raspberry PI 3与Android Things连接到Arduino [已关闭]
- “APK被定义了多次”,app无法安装Android Studio
- 设计AppServer面试讨论
- Android LiveData和Room(getValue返回NULL)
- Android运行时权限对话框未显示