我有一个正在转换为 MVC 的 WebForms 应用程序,但现在并排运行旧的东西。
出于某种原因,留给它自己的设备的 ScriptManager 尝试从一个非常奇怪(且不存在)的位置加载以下文件:
<script src="Scripts/WebForms/MsAjax/MicrosoftAjax.js" type="text/javascript"></script>
...
<script src="Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js" type="text/javascript"></script>
我找不到那个位置的设置,谷歌搜索“Scripts/WebForms/MsAjax”什么也没带回来。
更改 ScriptManager 上的(过时的)ScriptPath 属性对这两个脚本没有任何帮助。
尝试像下面这样覆盖路径位置也不起作用(它只是尝试加载两个脚本)
Scripts.Add(new ScriptReference { Name = "MicrosoftAjax.js", Path = ContextUtil.MapApplicationPath("~/My/Script/Location/MicrosoftAjax.4.0.js") });
Scripts.Add(new ScriptReference { Name = "MicrosoftAjaxWebForms.js", Path = ContextUtil.MapApplicationPath("~/Shared/Scripts/Legacy/MicrosoftAjax/MicrosoftAjaxWebForms.4.0.js") });
我无法理解的是
- 为什么默认情况下不从嵌入式资源加载脚本?
- 这条奇怪的路是从哪里来的?
- 为什么它不接受我覆盖的脚本路径?
任何人都可以帮忙吗?