我有一个JQuery UI对话框,我已经打开了一个ASP.NET按钮。我需要能够从此调用服务器端的OnClick事件,但它永远不会被调用。这是我的对话,有人可以帮忙吗?
<div id="dialogWrapper" runat="server">
<div style="height: auto; width: auto;" id="dialog">
<table>
<tr>
<td width="300px" valign="top">
Current Documents :
</td>
<td width="300px" valign="top">
<table>
<tr>
<td>
Upload Document :
</td>
</tr>
<tr /><tr />
<tr>
<td>
<asp:FileUpload id="fileUploadControl" runat="server" Width="200px" />
</td>
</tr>
<tr /><tr />
<tr>
<td>
<asp:Button ID="btnUploadFile" runat="server" OnClick="btnUploadFile_Click" Text="Upload File" />
</td>
</tr>
</table>
</td>
</tr>
</table><br />
</div>
</div>
编辑:以下是对话框的创建方式:
$(document).ready(function() {
$('#<%=dialogWrapper.ClientID %>').dialog({
autoOpen: false,
height: 250,
width: 600,
modal: true,
title: "Upload/Open Files",
show: "drop"
});
});
答案 0 :(得分:4)
jQueryUI将对话框放在ASP.NET Form
标记之外,因此您的按钮不会注册。尝试将对话框附加到Form标记,如下所示:
$('#divDialog').dialog({
//your normal dialog settings...
open: function(type,data) {
$(this).parent().appendTo("form");
}
});
来自this post。