jQuery UI对话框(模态),防止任何回发

时间:2012-12-19 11:24:59

标签: jquery asp.net jquery-ui

如何在jQuery UI对话框中回发ASP.NET提交按钮?

实际上我正在使用UI对话框模式,就像我们使用Ajax控件工具包的模式一样,来更新存储在gridview控件中的数据值。我能够做所有事情,但我无法使用UI模式触发回发。我对jQuery及其用户界面有点新,所以无法找到一个好的解决方案。

对于Ajax工具箱的模式,我们用来设置触发器属性,以便在有人点击其提交按钮时启用回发,但这里就不可能了。以下是我的代码:

//------------Modal first----------------
<div id="editEventModal" title="Edit Event Details" style="display:none">
//-------Here are my controls with asp.net validators
 <asp:Button ID="btnEditEvent" runat="server" Text="Save" ValidationGroup="EditEvent"  />
</div>

//--------- JavaScript/jQuery method for calling popup
function invokeEditPopup(){
    $("#editEventModal").dialog({
        width: 700,
        modal: true
    });
}
//-- Please not that I have not used UI_Dialog's predefined `OK`, `Cancel` buttons as I need to validate my form with asp.net validators on submit button's `click` event.

在gridview中,我在invokeEditPopup()事件中向按钮(将用于弹出对话框)中添加了javascript事件GridView_DataBound

如何使对话框的btnEditEvent进行回发,以便在服务器上执行所需的过程。

-----------------------欲了解更多信息------------------ 我尝试使用 jQuery UI Dialog with ASP.NET button postback 中的提示。

就在JavaScript中定义我的对话框之下,我尝试使用(当然是单独的):

$("#editEventModal").parent().appendTo($("form"));

//--------And---------------
$(".ui-dialog").parent().appendTo($("form"));

//--------And---------------
$("#editEventModal").parent().prependTo($("form"));

//--------And---------------
$(".ui-dialog").parent().prependTo($("form"));

但它无法正常工作。

2 个答案:

答案 0 :(得分:10)

最后,我得到了答案:Stack Overflow问题 An ASP.NET button click event is not firing 。感谢PirateKitten。

我需要做的就是在JavaScript中创建对话框下面添加以下内容,它就像魅力一样。

$("#editEventModal").parent().appendTo(jQuery("form:first"));

答案 1 :(得分:4)

您还可以添加css修改,以确保对话框不会留在overlay div后面。

$("#editEventModal").parent().appendTo(jQuery("form:first")).css({"z-index":"101"});