【发布时间】:2011-10-08 12:41:38
【问题描述】:
我正在尝试用 JQueryUI 对话框替换标准的 javascript 确认功能。我一直在寻找解决方案,但似乎没有什么对我有用。我想要的很简单:单击 ASP.Net 按钮,显示对话框,如果按下“是”则继续。当前的javascript代码:
$(document).ready(function () {
$("#confirmDialog").dialog({
autoOpen: false,
modal: true,
closeOnEscape: false,
bgiframe: true,
open: function (event, ui) { $(".ui-dialog-titlebar-close", ui.dialog).hide() },
buttons: {
"Yes": function () {
$(this).dialog('close');
return true;
},
"No": function () {
$(this).dialog('close');
return false;
}
}
});
});
function showDialog() {
$("#confirmDialog").dialog('open');
return false;
}
ASP.NET 代码:
<asp:Button ID="DeleteButton" CssClass='button' onmouseout="this.className='button'"
onmouseover="this.className='button:hover'" runat='server' Text='Delete' Width='1in'
Height="30px" OnClientClick="javascript:showDialog();" OnClick="DeleteSetup"/>
发生的情况是显示了对话框,但在对话框中选择任何内容之前调用了 DeleteSetup vb.net sub。
提前感谢您的任何帮助或建议。
【问题讨论】:
-
jQuery 对话框不会阻止 javascript 的执行。所以每次 showDialog 函数都会返回 false 值并且服务器端事件没有被触发。
-
把DeleteSetup放在“Yes”函数回调中。
标签: asp.net jquery-ui jquery-ui-dialog