我的ajax中ClientScriptmanager中的RegisterStartupScript为什么不能弹出对话框
解决方案 »
- 相关弹出框插件
- 我是新手,刚想学asp.net,下了个网站用vs2005和sql2005却打不开,哪位好心人能帮我看看?谢谢啦
- 急急急
- js给表格动态添加删除行后如何获取数据?????????????
- 在登录后台管理页面时,发生异常 用户 'sa' 登录失败。
- Freetextbox 写入数据库时空格全变成了 问号??????? 怎么回事啊?
- 如何在用javascript:history.back();返回后自动刷新返回后的页面
- 谁能告诉我InstanceDescriptor类是个什么东西
- 代码 缩进 格式化
- 如何在一个框架里,利用按钮时间,更改另一个框架里的页面?
- 如何避免因为XP系统崩溃或者重装,导致VS2008和数据库2000需要重新安装和配置?
- 我用了jquery-easyui,怎么就不能有<form >标签了
这时候你得保证你的dialog已经rander了,否则肯定是 XXX is undefined建议这样时候用Page.ClientScript.RegisterClientScriptBlock,将脚本注册到页面最后,页面上元素rander完就调用你的
dialog
如果页面有异步postback,这样注册的js不能起效,
你的页面使用了updatepanel,使用ScriptManager的
ClientScriptManager cs = this.ClientScript;
cs.RegisterOnSubmitStatement(this.GetType(),"H", "return window.confirm( 'do you want leave?')");//弹出对话框
客户端:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button runat="server" Text="Button" onclick="Unnamed1_Click"
ID="Button1" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
运行时但是没有弹出对话框?
cs.RegisterStartupScript(this.GetType(), "HelloWorld", "<script>alert('ddd');</script>");//弹出对话框
但是弹不出来。。
...?
我是说:用ClientScriptManager而不是ScriptManager
以前遇到过,不记得了。
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('提示信息')", true);就可以正常的弹出 alert 对话框了。注:如果在页面中有多个 UpdatePanel,如果每个 UpdatePanel 的 UpdateMode 都是“always”[默认值]的话,那么你使用那个 UpdatePanel 的实例作为参数都可以;如果每个 UpdaePanel 的 UpdateMode=conditional,那么你必须使用正在更新的那个 UpdatePanel 作为参数,这样脚本才能起作用。
百度搜:
asp.net ajax 弹不出对话框
应解决问题