解決 FileUpload.HasFile 總是回傳 false 的問題

前陣子使用 WebForm(.aspx)的 FileUpload 上傳檔案時,後置程式碼(Code Behind)一直無法取得檔案,FileUpload.HasFile 總是回傳 false。
相關程式碼簡化如下。
首先是 .aspx 頁面:
<form id="form1" runat="server">
<div>
<!--表單-->
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button Text="上傳檔案" runat="server" />
</div>
<div>
<!--結果-->
<asp:Label ID="Label1" runat="server" />
</div>
</form>
然後 .aspx.cs 頁面:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
Label1.Text = FileUpload1.HasFile.ToString();
}
}
在找了一陣子後,發現是上傳的檔案大小是 0 KB 的關係,這將會導致 FileUpload.HasFile 回傳 false。
另外,如果在 UpdatePanel 內使用 FileUpload,又有一些需要注意的地方。
參考資料:






