[英]How to make FileUpload control upload file right after clicking 'Browse'?
直到现在,我一直在使用2个控件(FileUpload和附加按钮)。 在fileUpload控件中选择文件后,用户必须通过按“保存”按钮接受他的选择。
这是按钮的代码:
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(Server.MapPath("~/file.jpg"));
Label1.Text = Server.MapPath("~/file.jpg");
Image1.ImageUrl = "file.jpg";
}
}
我想知道是否有办法避免使用该按钮,因此FileUpload控件的按钮将执行附加按钮的工作。
FileUpload
控件在浏览器中呈现<input type="file>
。您可以使用javascript change
事件来触发上载。
首先确保在页面body
中注册了一个load
事件处理程序:
<body onload="body_onload()">
并在事件处理程序中添加此代码:
<script type="text/javascript">
function body_onload()
{
...
$get('<%=FileUpload.ClientID%>').onchange = function() {
$get('<%=this.Page.Form.ClientID%>').submit();
};
}
</script>
或者使用纯jQuery执行此操作,将其放在页面的head
(如果您还没有包含jQuery):
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
然后使用此代码绑定到事件(将#fileUpload1
和#form1
替换为FileUpload
和Form
元素的id):
<script type="text/javascript">
$(document).ready(function() {
$("#fileUpload1").change(function() {
$("#form1").submit();
});
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.