将ASP.NET元素动态添加到JQuery对话框中

本文关键字:JQuery 对话框 添加 动态 ASP NET 元素 | 更新日期: 2023-09-27 18:26:35

我正在JQuery对话框中放置一些ASP.NET html元素(用于上载文件)。

我的问题:当我单击按钮上传文件时,什么都没有发生。页面加载后,我会动态创建查询对话框。我的解决方案是将HTML/ASP元素(用于上传文件)放在页面底部的div中&将其显示设置为无。

然后在打开对话框时,我将HTML/ASP元素移动到JQuery对话框中。但我的问题是,当我单击ASP.NET按钮从对话框中上传文件时,什么都没发生?

请注意,如果我在JQuery对话框外部单击该按钮,则会成功上载文件。

出了什么问题&我该怎么解决这个问题?有没有一种更简单的方法可以在页面加载后将ASP.NET代码添加到JQuery对话框中?

这是在身体

<div id="test">
    <input class="ui-button ui-widget ui-state-default ui-corner-all 
       ui-button-text-only" 
      style="display: inline-block;" id="fileUpload" type="file" Runat="server" 
       NAME="fileUpload"/>
    <asp:button id="btnSave" OnClick="bt1Clicked" style="display: inline;" 
      class="ui-button ui-widget ui-state-default ui-corner-all 
                                                 ui-button-text-only" 
      runat="server" Text="Upload File" ></asp:button>
    <asp:label id="lblMessage" runat="server" style="height:20px;width:390px;"
    </asp:label> 
</div>

然后打开对话框,我抓取上面的HTML&将其移动到对话框中:

$(this.dialog).dialog('open' function()
{
   var e = $("#test");
   $(body).remove(e);
   $(this).append(e);
});

将ASP.NET元素动态添加到JQuery对话框中

jQuery UI对话框在文档的最后创建对话框元素,就在关闭</body>元素之前。因此,当你打开对话框并将内容div#test移动到对话框中时,它就在<form>之外,不再适用于需要它的asp.net。

尝试创建对话框并将其移回<form>元素中:

$("#myDialog").dialog({
    ...
}).parent().appendTo($("form"));