触发使用jQuery单击以执行1.4中无效的代码隐藏功能 - 在1.3.2中正常工作

时间:2010-05-20 21:33:36

标签: jquery

我在更新面板中有一个gridview,并使用jQuery对话框添加条目。

该对话框调用添加条目的AJAX / JSON函数。在该功能成功后,我让jQuery触发按钮点击隐藏按钮

   ... 
       success: function(msg) {
             $("[id$='_btnUpdateGrid']").trigger('click');
             $("#new_dialog").dialog('close');
         },
   ...

应该在后面的代码中命中一个事件处理程序来更新数据源并刷新gridview。

<asp:Button ID="btnUpdateGrid" runat="server"  OnClick="btnUpdateGrid_Click" 
Text=" " Width="1px" Height="1px" Style="background-color:#F5F3E5; border:none;"  />

这与1.3.2一起工作得很好。更新到1.4.1,它不再出现代码隐藏。 AJAX仍然有效但我必须手动刷新页面才能更新网格。

此外,我可以点击客户端事件处理程序(例如OnClientClick =“alert('hello')”)因此我知道点击仍然发生,而不是代码隐藏事件处理程序。这就像jquery以某种方式阻止页面现在这样做。我通过更改脚本引用路径中的版本号并查看功能更改来验证这一点。

这是一个错误还是我现在应该这样做的另一种方式?

3 个答案:

答案 0 :(得分:0)

您可以尝试将ID更改为ID,反之亦然。它可能是区分大小写的标识符问题。

答案 1 :(得分:0)

也许尝试使用JavaScript将事件处理程序绑定到按钮,而不是使用HTML中的onClick属性。 jQuery允许您使用实时事件绑定来实现:

$("[id$='_btnUpdateGrid']").live("click", btnUpdateGrid_Click);

我不确定是否会采取任何措施解决问题,但值得一试。

答案 2 :(得分:0)

原来这只是订单。不知道为什么1.3不介意订单,但这就是全部。

 ... 
   success: function(msg) {
         $("#new_dialog").dialog('close');
         $("[id$='_btnUpdateGrid']").trigger('click');
     },
 ...

工作正常。