我在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&amp;将其移动到对话框中:
$(this.dialog).dialog('open' function()
{
var e = $("#test");
$(body).remove(e);
$(this).append(e);
});
答案 0 :(得分:1)
jQuery UI对话框在结束</body>
元素之前,在文档的最末端创建对话框元素。因此,当您打开对话框并将内容div#test
移动到对话框中时,它就在<form>
之外,并且不再适用于需要它的asp.net。
尝试创建对话框并将其移回<form>
元素:
$("#myDialog").dialog({
...
}).parent().appendTo($("form"));