您的位置:首页 > Web前端 > JQuery

ASP.NET下使用jQuery UI下的Dialog,服务器端按钮无响应的问题。

2010-08-18 11:48 274 查看
JQuery下的UI控件似乎是有问题的,某天我从凌晨两点调试一个JQuery Dialog,一直到早上8:00都没有调试出来。当时我在Dialog里面放置了一个服务器按钮,并让按钮和CodeBehind里的一个事件处理函数绑定,但是奇怪的是怎么点击按钮,都不响应后面的事件函数,整得我直抓狂。

天亮后,Google了一下,终于找到原因:JQuery会把Dialog的元素append到Body里面,而不是form里面,狂汗。几百万使用JQuery UI的人被涮了一把,过于信任JQuery UI团队了。

我找到了3种解决方法:

第1种方法:

使用代码:$("#dialog").parent().appendTo("/html/body/form[0]");


第2种方法:


加入一个<div id="dialog_target"></div>这样的DIV,然后把Dialog写入这个DIV里面。


$("#dialog").parent().appendTo("#dialog_target");


第3种方法:


1、修改Dialog的JS代码,把代码添加到form中,而不是body里面
2、Dialog内部的自定义HTML不使用,而直接加入一个IFRAME,把里面的HTML移到另外的页面中,再与父页面进行交互就OK(我使用的就是这种方法,这样这些独立出来的代码还可以复用


我使用的是第2种方法,服务器事件可以响应,效果也不错。


http://douyunliang.blog.sohu.com/129047116.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: