首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ajax中ClientScriptmanager解决方案

2012-04-11 
ajax中ClientScriptmanager我的ajax中ClientScriptmanager中的RegisterStartupScript为什么不能弹出对话框

ajax中ClientScriptmanager
我的ajax中ClientScriptmanager中的RegisterStartupScript为什么不能弹出对话框

[解决办法]
贴出代码,才能分析
[解决办法]
如果你用RegisterStartupScript的话,js就被注册到页面开始
这时候你得保证你的dialog已经rander了,否则肯定是 XXX is undefined

建议这样时候用Page.ClientScript.RegisterClientScriptBlock,将脚本注册到页面最后,页面上元素rander完就调用你的
dialog

[解决办法]
ClientScriptmanager中的RegisterStartupScript
如果页面有异步postback,这样注册的js不能起效,
你的页面使用了updatepanel,使用ScriptManager的
[解决办法]
应该是

ScriptManager.RegisterStartupScript(UpdatePanel1,UpdatePanel1.GetType(),"H", "return window.confirm( 'do you want leave?')",true)
[解决办法]
ScriptManager not cs
[解决办法]
UpdatePanel 不能使用this.ClientScript;
[解决办法]
你用了这个this.GetType() 肯定不行。你换个updatepanel中的button试试
[解决办法]
ScriptManager.RegisterStartupScript(this, this.GetType(), "a", "<script>alert('');</script>", false); 
以前遇到过,不记得了。
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('提示信息')", true);就可以正常的弹出 alert 对话框了。

注:如果在页面中有多个 UpdatePanel,如果每个 UpdatePanel 的 UpdateMode 都是“always”[默认值]的话,那么你使用那个 UpdatePanel 的实例作为参数都可以;如果每个 UpdaePanel 的 UpdateMode=conditional,那么你必须使用正在更新的那个 UpdatePanel 作为参数,这样脚本才能起作用。
百度搜:
asp.net ajax 弹不出对话框
应解决问题
[解决办法]
不好意思,说反了,应该是

如果你用RegisterStartupScript的话,js就被注册到页面最后

罪过,罪过


探讨

如果你用RegisterStartupScript的话,js就被注册到页面开始
这时候你得保证你的dialog已经rander了,否则肯定是 XXX is undefined

建议这样时候用Page.ClientScript.RegisterClientScriptBlock,将脚本注册到页面最后,页面上元素rander完就调用你的
dialog

热点排行
Bad Request.