gpt4 book ai didi

c# - 与 jQuery UI 对话框交互后如何继续使用 asp.net 服务器端按钮单击方法?

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:46 25 4
gpt4 key购买 nike

来自 jQuery 菜鸟,任何帮助都将不胜感激,因为我已经浪费了太多时间,而截止日期很快就要到了。

内幕 - 我在 Intranet 工程应用程序中有一个 asp.net 表单,在某些情况下需要在按下提交按钮时弹出一个 jQuery 对话框。

在“特定情况下”,用户需要确认一个问题,表单需要继续提交包括为提交按钮的点击事件执行服务器端代码。

当“特定情况”不存在时,表单只需提交并执行提交按钮的 Click 事件的服务器端代码。 (与上面相同,但没有 jQuery 对话框。)

挑战似乎是:

  • 当对话框关闭时,表单会提交,但显然*不是*像原始提交按钮引起的那样,因为唯一正在执行的服务器端代码是“Page_Load”。未调用“cmdSave_Click”(我也需要执行)。

这是对话框定义。 (在两次单击按钮时,我需要在服务器端 cmdSave_Click 方法最终需要的隐藏字段中粘贴一个值。)

var dlgTidPopup = $('#popupPnlTid').dialog({
resizable: false,
autoOpen: false,
draggable: false,
modal: true,
closeOnEscape: false,
title: 'Request for Target Identifier (TID)?',
buttons: {
"yes": function () {
$('#txtTidYes').val("1");
$('#userInputForm').unbind("submit").submit();
$(this).dialog('close');
},
"no": function () {
$('#txtTidYes').val("0");
$('#userInputForm').unbind("submit").submit();
$(this).dialog('close');
}
}
});

dlgTidPopup.parent().appendTo($('form:first'));

这里是提交部分。 if 语句确定对话框的外观以满足“这是特定情况吗?”的要求。要求。

$('#userInputForm').submit(function (event) {
if ($('#hdnSituationIsTid').val() == "1") {
event.preventDefault();
$('#popupPnlTid').dialog("open");
}
});

提交按钮看起来像:

<asp:ImageButton ID="ibtnSend" ImageUrl="../_common/Images/buttons/Send.gif"
runat="server" OnCommand="cmdSave_Click" CommandName="Send" CssClass="majorButton"
CausesValidation="false" />

这个问题的答案可能很简单,我只是缺乏知识。非常感谢任何指导。 (此外,我确实知道我已经搜索过 SO 并阅读了很多很多帖子,甚至根据其中许多帖子对我的代码进行了建模,但我还没有完全找到解决我的具体问题的方法。)

最佳答案

请参阅我对下面链接问题的回答,我使用隐藏的 asp:button 作为 callback:

ASP.NET with jQuery popup dialog: how to post back on dialog closing

 function showjQueryUIDialogOkBtnCallback(buttonToClick, dialogSelector, buttonTxt, isModal, width, height) 
{
var buttonOpts = {};
buttonOpts[buttonTxt] = function () {
$("#" + buttonToClick).trigger('click');
};

buttonOpts['Cancel'] = function () {
$(this).dialog("close");
$(this).dialog('destroy');
}

$(dialogSelector).dialog({
resizable: false,
height: height,
width: width,
modal: isModal,
open: function (type, data) {
$(this).parent().appendTo("form"); //won't postback unless within the form tag
},
buttons: buttonOpts

});

$(dialogSelector).dialog('open');

}

关于c# - 与 jQuery UI 对话框交互后如何继续使用 asp.net 服务器端按钮单击方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com