ASP.Net文件上载,其中包含空的已发布文件集合

ASP.Net文件上载,其中包含空的已发布文件集合,asp.net,jquery,file-upload,jquery-ui-dialog,jquery-forms-plugin,Asp.net,Jquery,File Upload,Jquery Ui Dialog,Jquery Forms Plugin,我有一个ASP.NET文件上载控件,它作为表单的一部分。文件上载控件位于内容页上,而表单定义位于整个站点的母版页上。我已经在母版页的表单中添加了multipart/form enc 我正在使用jQuery提交表单,因为我在jQueryUI中显示了一个对话框 当我发布时,没有文件返回到服务器。文件上载控件没有文件,HttpFileCollection为空。如何找到发布的文件?大多数对话框都会将您的内容打包,然后将结果放在页面中的之前……这在ASP.Net中是一个问题,因为它位于之外,需要在内部才能

我有一个ASP.NET文件上载控件,它作为表单的一部分。文件上载控件位于内容页上,而表单定义位于整个站点的母版页上。我已经在母版页的表单中添加了multipart/form enc

我正在使用jQuery提交表单,因为我在jQueryUI中显示了一个对话框


当我发布时,没有文件返回到服务器。文件上载控件没有文件,HttpFileCollection为空。如何找到发布的文件?

大多数对话框都会将您的内容打包,然后将结果放在页面中的
之前……这在ASP.Net中是一个问题,因为它位于
之外,需要在内部才能包含在发布的数据中

创建对话框时,在对话框结束时将其附加到
中,而不是添加到
中,例如:


现在它已经被移动到
中,应该可以正确发布了。

在回发时,您在对话框中放置的所有其他控件都是空的吗?您是否运行了fiddler来验证浏览器发布的文件。这里有一个到fiddler的链接,我认为这是沿着这些线的东西,因为所有的表单值都是空的。我添加了附加代码,但仍然存在相同的问题。您的页面上只有一个标记吗?如果是这样,那么.appendTo()代码应该可以工作——否则需要指定实际的表单ID,比如.appendTo('#formidhere')@Nicholas-OP使用的是webforms…只有一个
标记,定义特征之一:)@Nicholas-不使用ASP.Net webforms(他使用的是文件上载控件),除非您真的进行了黑客攻击。Nick,jQuery不在乎它是服务器端标记还是普通表单标记。您的页面上可以有多个表单标记,只要只有一个是runat=“server”。我用PayPal集成做了很多事情。
$("#myDiv").dialog({ ...options... }).parent().appendTo("form:first");