ASP.NET FileUpload:如何在选择文件后自动回发?

Jas*_*zek 26 asp.net

我正在开发一个ASP.NET应用程序,我需要在FileUpload控件中选择文件后回发到服务器,而不必让用户明确单击"提交"按钮.这可能吗?如果是的话,怎么样?

Tom*_*lak 23

我假设您想立即开始上传.如果是这样,您应该change在JavaScript中对事件做出反应,并简单地让它提交表单.

<!-- HTML code --->
<input 
  type="file" 
  onchange="if (confirm('Upload ' + this.value + '?')) this.form.submit();"
>
Run Code Online (Sandbox Code Playgroud)

要求用户确认是值得推荐的,因此他们可以控制流程,如果他们偶然选择了错误的文件,可以取消.


Abr*_*mon 15

第一个答案有正确的javascript,但ASP.NET不一定直接暴露输入控件,所以最好将onchange事件放在F​​ileUpload控件上.

<asp:FileUpload ID="myFileUpload" onchange="if (confirm('Upload ' + this.value + '?')) this.form.submit();" runat="server" />
Run Code Online (Sandbox Code Playgroud)

另一条路线是通过flash/silverlight/ajax提供丰富的上传.可以在Ajax Uploader上找到一个很好的组件,大约100美元