如何在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"));
但它无法正常工作。
答案 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"});