C# 在ClientScript.RegisterClientScriptBlock之后显示/隐藏div折叠面板
这个问题是对这个问题的延伸 如上所述,我找到了一个解决办法,以防止在装载时折叠面板闪烁 我的解决办法是: 在标题中: 它不工作-因为在面板中没有折叠/显示。上面的代码确实有效 你认为clientScipt与我的javascript冲突以显示div吗?我在浏览器中没有收到任何Javascript运行错误 更多信息:如果不是回发,则调用clientScript。我还尝试从clientscript调用javascript,方法是在其末尾添加以下代码:C# 在ClientScript.RegisterClientScriptBlock之后显示/隐藏div折叠面板,c#,asp.net,html,C#,Asp.net,Html,这个问题是对这个问题的延伸 如上所述,我找到了一个解决办法,以防止在装载时折叠面板闪烁 我的解决办法是: 在标题中: 它不工作-因为在面板中没有折叠/显示。上面的代码确实有效 你认为clientScipt与我的javascript冲突以显示div吗?我在浏览器中没有收到任何Javascript运行错误 更多信息:如果不是回发,则调用clientScript。我还尝试从clientscript调用javascript,方法是在其末尾添加以下代码: sb.Append("\n}\nshowDivs
sb.Append("\n}\nshowDivs();</script>\n");
sb.Append(“\n}\n showdivs();\n”);
但这次我得到了以下错误:
divmenucont未定义
有什么解决方案吗?如果我没记错的话,RegisterClientScriptBlock将其JS注入头部。可能是将其注入到代码之上。现在,这可能意味着一些事情,取决于注入的代码正在做什么
- 它是否直接引用了任何元素(请记住,这是在头部,因此您将无法处理DOM,因为它已经加载了它,所有这些内容都需要在onload之后进行)
- 它是否引用了divMenuContent,而您可能只是在它下面声明
- 它是否抛出了一个错误,导致inpage JS的其余部分停止运行
// You can add as many of these as you like and they will all run :)
window.addEvent( "domready", function() {
// Code to run goes here
});
您可以使用RegisterStartupScript来满足这种需求。好的,我想我可能有一个解决方案:我该怎么做:if(cpeMenuContent.Collapsed){};在javascript中(因为cpeMenuContent是一个可折叠的PanelExtender)?pnlmenucontent与:Page.RegisterClientScriptBlock(“,sb.ToString());RegisterClientScriptBlock(this.GetType(),“”,sb.ToString());RegisterStartupScript(this.GetType(),“”,sb.ToString());为了我想做的事
ClientScript.RegisterClientScriptBlock(this.GetType(), "", sb.ToString());
sb.Append("\n}\nshowDivs();</script>\n");
// You can add as many of these as you like and they will all run :)
window.addEvent( "domready", function() {
// Code to run goes here
});