一个模式弹出里面的OK按钮的事件处理程序不执行(The Event Handler of the O

2019-09-28 02:22发布

这里的问题是,我有一个模式弹出扩展用户控制,这是从页面内的另一个用户控件调用内部的母版页内。 页面加载dinamically第一用户控制,当我想dinamically显示它加载的用户控件模态对话框为占位符,并调用时模态拉网用户控制负载模式的显示方式。

模态里面我有一些文本框和一个按钮,一些数据保存到数据库中。

问题是,布敦onClick事件不火的。 我尝试添加在模态控制的onload事件断点,但它并没有在那里得到的,奇怪的是,如果我将在父用户控件(即持有模式弹出的一个)的Onthe加载事件另一个断点断点并在家长用户控制的onload事件正确停止。 我需要使用事件处理程序,因为在那里我调用存储过程将数据保存到数据库。

请注意,我不想只是关闭modalpopup窗口,我想验证某些文本框,然后一些数据保存到数据库中,这就是为什么我要我们的按钮醚:事件处理程序。

Thaks的支持

Answer 1:

下面是我在一个应用程序,我需要一个模式对话框使用的功能。 该按钮由jQuery代码实际产生的,所以它保证他们的活动会被解雇:

  $(function () {
           $(".addNew").dialog({
               autoOpen: false,
               width: 300,
               height: 300,
               modal: true,
               close: function (event, ui) {
           },
           buttons:
                   {
                       "Exclude Week": function () {

                           var cReason = $('#<%= ddlReasonCode.ClientID %> option:selected').text();
                           var Week = $('#<%= lblWeekChange.ClientID %>').text();

                           $.ajax(
                                   {
                                       type: "POST",
                                       url: "Ajax/ExcludeWeek.aspx",
                                       data: "week=" + Week + "&reasonCode=" + cReason,
                                       success: function (msg) {
                                           $('#resultDiv').text('Added to List');

                                       },
                                       error: function (x, e) {
                                           alert("The call to the server side failed. " + x.responseText);
                                       }
                                   }
                               );
                                   $(this).dialog("close");
                       },
                       "Cancel": function () {
                           $(this).dialog("close");
                       }
                   }
       });


   });

//这是用于触发对话框的代码:

$(".addNew").dialog("open");


Answer 2:

它可能是迟到了给定的情景,但我对我的项目升级AjaxControlToolikit版本后有同样的问题。

问题是ModalPopupExtender财产OkControlID:点击的按钮的处理程序将不执行,将在运行该工具包服务器端的新版本,取而代之的是,OnOkScript客户端代码。

要恢复以前的行为,在我的情况,我不得不删除从模式弹出扩展声明标记OkControlID财产。

希望能帮助到你。



Answer 3:

不知怎么的,以我的整个模式弹出一个框外<asp:UpdatePanel>我已经解决了这个问题对我来说。 我会说我不是非常熟悉更新面板,但它的工作!



文章来源: The Event Handler of the OK button inside a Modal PopUp is not executing