2010-03-28 61 views
1

我在ASP.NET webform上的特定面板上使用jQuery UI对话框()函数。jQuery对话框导致按钮不回发

应用Dialog()后,按钮变得无用,并且根本不会回发;我甚至没有收到Page_Load事件,更不用说任何按钮事件了。

对话框函数是否与我的按钮事件混淆?如果是这样,有没有办法解决这个问题?

回答

2

我的猜测是,因为您使用的是WebForms,您的actaul对话框位于WebForms中的一个标签之外。您可以通过查看源代码来查看,或者更好地打开IE Developer工具(F12),然后选择对话框。然后你可以看到你的按钮在DOM中的位置。

另一件事,记住在WebForms中所有的控件都必须是runat = server的控件。如果您使用的是纯HTML,那么您需要在JavaScript中分配按钮的单击事件的权限。

+0

正确。修复了单行黑客在更新面板元素内追加弹出容器的问题。 – Jonathan 2010-03-30 02:08:19

0

您接近解决方案,只是得到错误的对象。它应该是这样的:

jQuery(function() 
    { 
     var dlg = jQuery("#dialog").dialog({ 
          draggable: true, 
          resizable: true, 
          show: 'Transfer', 
          hide: 'Transfer', 
          width: 320, 
          autoOpen: false, 
          minHeight: 10, 
          minwidth: 10 
         }); 
     dlg.parent().appendTo(jQuery("form:first")); 
    });