已更新 - 标题已更改b / c StyleSheetTheme
且Theme
与此无关 - 有关详细信息,请参阅答案。
我正在处理一个页面,该页面已经过了几年和几个中间阶段,从另一个成功使用AJAX pageLoad()
函数的页面开始,完全执行某些(重新)初始化部分回发。
此新页面上的pageLoad()
未触发。对这两个页面(.aspx
和.js
文件)进行系统比较,最终导致我出现了令人惊讶的(对我而言)导致失败的差异:旧页面{{1指令指定了@ Page
,而新页面的指令指定了Theme="foo"
。将StyleSheetTheme更改为Theme可恢复触发StyleSheetTheme="foo"
功能。
在这个新页面中,我可以使用(不可覆盖的)主题设置,因此我实际上没有需要在此momemt中解决的问题,但我认为这种行为并不明显,值得注意,如果有人深入了解StyleSheetTheme可能阻止pageLoad()
解雇的原因,我想知道。
答案 0 :(得分:0)
对问题中引用的页面以及其他类似页面的进一步调查显示,该问题与在StyleSheetTheme
指令的Theme
和@ Page
属性之间进行更改无关。我更改了问题/标题以反映这一点。
我正在处理的特定Javascript文件中没有触发pageLoad()
函数的实际原因是在页面使用的单独Javascript文件中已经定义了另一个pageLoad()
函数,并且 it 是正在执行的那个,因为它后来被包含并且过度/替换了我正在处理的那个。我发现这是使用脚本调试器,通过在ScriptResource.axd文件中找到pageLoad处理(在函数Sys $ _Application $ raiseLoad()中),然后执行到第二个,重载脚本文件... Palm,遇见前额.. 。
外卖点:
pageLoad()
可以在页面级别运行,而无需采用某种方案来菊花链式连接多个脚本;我选择了this approach,因此我的每个脚本文件都可以将自己的(重新)初始化添加到链中,而不会破坏已存在的任何内容StyleSheetTheme
属性与Theme
属性 nothing 来处理我的问题