我正在使用隐藏的iframe上传文件并尝试从aspx的Page_Load中捕获它。
<input type="file" id="flAddRequestFile" name="RequestFileUpload" />
js就像:
var iframe = $('<iframe name="postiframe" id="postiframe" style="display: none" />');
$("body").append(iframe);
var form = $('#frm1');
form.attr("action", "/PresentationLayer/NewRequestFileUploadDialog.aspx");
form.attr("method", "post");
form.attr("enctype", "multipart/form-data");
form.attr("encoding", "multipart/form-data");
form.attr("target", "postiframe");
form.attr("file", $('#flAddRequestFile').val());
form.submit();
在NewRequestFileUploadDialog.aspx背后的代码中,我没有得到Request.Files
下的任何内容。根本没有标题。
请帮帮我。
答案 0 :(得分:0)
我尽力重新创造你的情况,然后我开始工作了。我所拥有的唯一区别在于JS:在form.submit();
后我添加了return false;
以防止默认的回发。
所以,更新的JS看起来像这样(我假设你在change()
上的flAddRequestFile
或click()
的事件处理程序中有这个逻辑用于某个按钮):
var iframe = $('<iframe name="postiframe" id="postiframe" style="display: none" />');
$("body").append(iframe);
var form = $('#frm1');
form.attr("action", "/PresentationLayer/NewRequestFileUploadDialog.aspx");
form.attr("method", "post");
form.attr("enctype", "multipart/form-data");
form.attr("encoding", "multipart/form-data");
form.attr("target", "postiframe");
form.attr("file", $('#flAddRequestFile').val());
form.submit();
//this is what I added
return false;