C# LoadScriptsBeforeUI发生在RegisterStartupScript之后
我使用C# LoadScriptsBeforeUI发生在RegisterStartupScript之后,c#,asp.net,asp.net-ajax,scriptmanager,C#,Asp.net,Asp.net Ajax,Scriptmanager,我使用ScriptManager(如jquery)加载我的外部/cdn javascript库 我想在UI加载后加载它们 ScriptManager.LoadScriptsBeforeUI = false; 然后我想在页面中插入一些javascript来使用它们: CurrentPage.ClientScript.RegisterStartupScript(GetType(), "scriptName", script, true); 问题在于,当ScriptManager.LoadScri
ScriptManager
(如jquery)加载我的外部/cdn javascript库
我想在UI加载后加载它们
ScriptManager.LoadScriptsBeforeUI = false;
然后我想在页面中插入一些javascript来使用它们:
CurrentPage.ClientScript.RegisterStartupScript(GetType(), "scriptName", script, true);
问题在于,当ScriptManager.LoadScriptsBeforeUI=false时,加载了RegisterStartupScript
的脚本被注入ScriptManager.Scripts
之前的页面
您知道在ScriptManager.Scripts
之后加载RegisterStartupScript
的方法吗
我想知道ScriptManager
类中是否有内置的解决方案。为什么要这样做?LoadScriptsBeforeUI=false
的全部意义在于,您不必在其他事情发生之前加载它们。你要么要将它挂接到UI上加载,要么要使用计时器和轮询来查看你需要的脚本是否可用。你是对的,但如果我加载一些外部脚本,我想使用它们。。。例如,用于保存滚动位置的asp.net javascript是在ScriptManager.ScriptsNothing包含在ScriptManager中之后呈现的,以要求它在延迟时加载脚本,而在页面加载时执行其他脚本。这是一个非此即彼的命题,大多数人都会将标志设置为true,而将其设置为false。我不希望延迟,只是需要不同的顺序:首先是ScriptManager.Scripts,然后是ClientScript.RegisterStartupScript。您想要的东西不受开箱即用的支持。你自己写是可能的,但你会有一些工作要做。
CurrentPage.ClientScript.RegisterStartupScript(GetType(), "scriptName", script, true);