从嵌套的 jquery 对话框运行服务器端方法
Running a server side method from nested jquery dialogs
>正在尝试在嵌套的jquery对话框中调用服务器端函数
设计是这样的:
[第一个对话框]
- 单击按钮将打开第二个对话框
- 单击另一个按钮将运行服务器 A 端方法。 (工作正常(
- 网格视图由服务器端方法更新。
[第二个对话框]
- 单击按钮运行服务器端方法 var btnConfirm = document.getElementById("<%= BtnAvailEmpAccept.ClientID %>"(; btnConfirm.click((;
按预期工作正常,但在[第二个对话框]中没有任何反应。[第二个对话框] JavaScript代码被执行,但永远不会命中服务器端方法。
每个对话框的两个"div"包含在更新面板中,因为我有网格视图可以通过按钮单击事件更新。
这是[第二个对话框]
$confirmWindow = jQuery("#empConfirmDiv");
$confirmWindow.show();
$confirmWindow.dialog("open");
//instantiate the dialog
$confirmWindow.dialog({
dialogClass: "empConfirmDialog",
maxHeight: 600,
width: 1200,
resizable: false,
modal: true,
position: 'center',
autoOpen: false,
title: 'Exception - Confirmation',
overlay: { opacity: 0.5, background: 'black' },
buttons: {
"Decline": function () {
var btnDecline = document.getElementById("<%= BtnAvailEmpReject.ClientID %>");
btnDecline.click();
},
"Left Message": function () {
var btnMsg = document.getElementById("<%= BtnAvailEmpMsg.ClientID %>");
btnMsg.click();
},
"Confirm": function () {
var btnConfirm = document.getElementById("<%= BtnAvailEmpAccept.ClientID %>");
btnConfirm.click();
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
ASP:按钮运行服务器端方法:
<asp:Button ID="BtnAvailEmpAccept" runat="server" Width="10px" Height="10px" OnClientClick="return SetValidateTrue()"
OnClick="BtnAvailEmpAccept_Click" />
有没有人知道为什么按钮。Click(( 不调用服务器端方法?
> 编辑:这是我的答案!
var showDialogConfirmEmp = function () {
$confirmWindow = jQuery("#empConfirmDiv");
$confirmWindow.show();
$confirmWindow.dialog("open");
}
var myWindowConfirmEmp =
jQuery("#empConfirmDiv").dialog({
dialogClass: "empConfirmDialog",
maxHeight: 600,
width: 1200,
resizable: false,
modal: true,
position: 'center',
autoOpen: false,
title: 'Exception - Confirmation',
overlay: { opacity: 0.5, background: 'black' },
buttons: {
"Decline": function () {
var btnDecline = document.getElementById("<%= BtnAvailEmpReject.ClientID %>");
btnDecline.click();
},
"Left Message": function () {
var btnMsg = document.getElementById("<%= BtnAvailEmpMsg.ClientID %>");
btnMsg.click();
},
"Confirm": function () {
var btnConfirm = document.getElementById("<%= BtnAvailEmpAccept.ClientID %>");
btnConfirm.click();
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
var showDialogAvailEmp = function () {
SetValidateTrue();
if (IsScheduleWorkChecked()) {
var button = document.getElementById("<%= btnListEmp.ClientID %>");
button.click();
$myWindowAssign = jQuery("#availEmpDiv");
$myWindowAssign.show();
$myWindowAssign.dialog("open");
$myWindowAssign.parent().appendTo(jQuery("form:first"))
}
else {
alert("Please select a work to assign!");
}
}
var myWindowAvailEmp = jQuery("#availEmpDiv").dialog({ maxHeight: 600,
width: 700,
resizable: false,
modal: true,
position: 'center',
autoOpen: false,
title: 'Exception - Available Employees',
overlay: { opacity: 0.5, background: 'black' },
buttons: [{
text: "Proceed",
"id": "btnProceed",
click: function () {
Page_IsValid = true;
if (Page_IsValid) {
var btnProceed = document.getElementById("<%= btnProceed.ClientID %>");
btnProceed.click();
}
$confirmWindow = jQuery("#empConfirmDiv");
$confirmWindow.show();
$confirmWindow.dialog("open");
myWindowConfirmEmp.parent().appendTo(jQuery("form:first"));
}
},
{
text: "Cancel",
"id": "btnAvailCancel",
click: function () {
$(this).dialog("close");
}
}]
}); // myWindow
// JQuery UI: Diaglog
jQuery(document).ready(function () {
jQuery("#BtnAssign").click(showDialogAvailEmp);
//variable to reference window
myWindowAvailEmp.parent().appendTo(jQuery("form:first"));
...
我不得不添加"form:first":"这样做的原因是对话框函数拉取您的元素并将其放入放置在 Form 标签外部的窗口容器中">
喜欢:
myDialog.parent().appendTo(jQuery("form:first"));
http://labs.kaliko.com/2011/08/jquery-ui-dialog-aspnet-postback.html帮了我!
相关文章:
- Meteor如何运行服务器端python脚本
- 有没有一种方法可以在服务器端页面加载之前在加载时运行javascript
- 在客户端 Javascript 方法之后运行服务器方法
- 如何使用webpack处理仅在运行时可用的服务器端依赖关系
- C#/ASP-web,ASP:在客户端执行复选框消息框,如果是,则运行服务器端代码
- 当通过cordova部署时,服务器端流星代码在哪里运行
- Rails:服务器端运行HTML和Javascript
- 在使用nodejs运行服务器端时,无法加载角度控制器文件
- 在 nodejs 服务器端运行传单
- 如何在 angularjs 中运行从服务器端拉取的 js 代码
- 从嵌套的 jquery 对话框运行服务器端方法
- 运行服务器端 Javascript
- 在JS中运行服务器端python:pico的困难
- 是否可以在node.js服务器上设置一个运行(服务器端)的socket.io客户端
- 如何使用HtmlService运行服务器端函数
- 在使用javascript向下拉列表添加项目并运行服务器端代码后,无效的回发或回调参数
- 如何运行服务器端JS
- 如何在客户端浏览器中运行服务器端javascript
- 当我需要运行服务器端代码时,我如何响应按钮的单击(不提交页面)?
- 不能使用jquery运行服务器端脚本