6

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

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

对于 Ajax 工具包的 modal,我们曾经设置一个 trigger 属性,以便在有人单击其提交按钮时启用回发,但在这里这似乎是不可能的。以下是我的代码:

//------------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 中,我在事件中添加了 javascript 事件invokeEditPopup()到按钮(将用于弹出对话框)GridView_DataBound

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

-----------------------有关更多信息------------------ 我尝试使用来自jQuery的想法带有 ASP.NET 按钮回发的 UI 对话框

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

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

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

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

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

但它不能正常工作。

4

2 回答 2

10

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

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

$("#editEventModal").parent().appendTo(jQuery("form:first"));
于 2012-12-19T12:01:08.217 回答
4

您还可以添加 CSS 修改以确保对话框不会停留在覆盖 div 后面。

$("#editEventModal").parent().appendTo(jQuery("form:first")).css({"z-index":"101"});
于 2013-11-23T15:46:47.140 回答