不可见的FileUpload控件导致IE中的javascript回发错误

时间:2012-08-21 15:56:11

标签: asp.net .net internet-explorer webforms

我有带有Fileupload控件和图像的asp.net webforms页面。当用户点击图像时,我触发FileUpload点击,当点击ok时,我在客户端调用__doPostBack。如果FileUpload可见,它可以正常工作,但是当我设置style='visibility: hidden'display: none时 - javascript会出错:访问被拒绝!它仅在IE中重现,而不是FF或chrome。谁能告诉我如何避免这种情况并将文件发布到服务器?我试过输入type ='file'和runat ='server',非服务器输入文件 - 结果是一样的......

HTML:

<input id="_ctl00_fuplImage" type="file" style="visibility: hidden" name="$ctl00$fuplImage">

JavaScript的:

var fileupload = $('#<%= fuplImage.ClientID %>');

$('#<%= imgPhoto.ClientID %>').click(function() {
    fileupload.click();
});

fileupload.change(function() {
    var val = fileupload.val();
    if (val == '') return;
    __doPostBack(fileupload.attr('id'), val);
});

1 个答案:

答案 0 :(得分:4)

IE(仅)的无法解决的安全问题是不允许发送带有隐藏文件上传输入的表单。非常感谢你的帮助。