在ASP.NET下使用jQuery UI下的Dialog产生提交空值问题

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种方法,服务器事件可以响应,效果也不错。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值