【发布时间】:2012-02-29 20:05:26
【问题描述】:
我正在尝试使用 CodeBehind 事件和 JavaScript 事件创建一个弹出对话框。我创建了一个按钮来启动以下对话框。效果很好。
<script type="text/javascript">
function ShowDialog(aPage, aWidth, aHeight, aTitle) {
var $popupURL = aPage;
var $popupDv = $("#resultDiv");
jQuery.ajax({ url: $popupURL,
cache: false,
success: function (html) {
$popupDv.empty().append(html);
$popupDv.dialog({
width: aWidth,
height: aHeight,
modal: true,
title: aTitle,
draggable: false,
resizable: false
});
}
});
}
</script>
按键代码:
<form id="form1" runat="server">
<div>
<div id="resultDiv">
</div>
<input id="Edit1Button" type="button" value="Edit 1" onclick="ShowDialog('edit3.aspx?ID=1', 600, 400, 'Hello Edit 1')" />
</div>
</form>
请记住,这只是测试代码。好的,所以在我单击按钮后会弹出一个对话框。在对话框中,我有以下代码..
<form id="form2" runat="server">
<div>
<h1>
Edit Dialog 3</h1>
<asp:Button ID="CloseButton" runat="server" Text="Close" OnClick="CloseButton_Click"
OnClientClick="$('#resultDiv').dialog('close'); return true;" />
</div>
</form>
如果我返回 false,那么只会触发 javascript OnClientClick 并关闭对话框。按预期工作。如果我设置 return true 对话框关闭,但这就是问题所在。主窗体消失并被对话框窗体取代..
我需要这个按钮在代码隐藏中执行 CloseButton_Click 然后关闭对话框。我对 asp.net 和 C# 还很陌生,所以对你的回答要温柔.. 像几周
谢谢 安东尼
【问题讨论】:
-
您的两个表单具有相同的 ID。这是一个禁忌。
-
对不起..我将edit3中的表单重命名为form2..这只是我放在一起的一个快速示例..这是一个oversite..仍然不起作用..
标签: jquery asp.net dialog jquery-ui-dialog