使用asp:FileUpload
控件浏览和上传工作得很好。
但这是两步过程。首先我们必须浏览然后选择文件。
我希望它单步工作所以为了使它单步运行,我尝试了以下代码:
protected void Button1_Click(object sender, EventArgs e)
{
//to launch the hidden fileupload dialog
ClientScript.RegisterStartupScript (GetType(),
"hwa", "document.getElementById('fileupload').click();", true);
//Getting the file name
if (this.fileupload.HasFile)
{
string filename = this.fileupload.FileName;
ClientScript.RegisterStartupScript(GetType(), "hwa", "alert('Selected File: '" + filename + ");", true);
}
else
{
ClientScript.RegisterStartupScript(GetType(), "hwa", "alert('No FILE has been selected');", true);
}
}
在此代码中,有一个fileUpload
控件正在被调用Button1_Click
。
理想情况下,它应该执行第一行,然后应该显示文件上传控件,在选择文件或取消对话框后,流程应该转到下一行。但是在完整功能执行完成后会显示对话框。
由于这种异步或非预期的执行流程if (this.fileupload.HasFile)
返回错误(因为尚未要求用户选择任何文件)并且我没有获得所选文件名。
我们可以修改此代码以实现单步上传文件吗?或者是否有任何其他方式可以做到这一点?
注意-我已要求不要使用window forms
and Threads
。因此,使用这两个解决方案是不可接受的。