我認爲一旦將AsyncFileUpload控件放入動態加載的自定義用戶控件中,就會出現問題。
我設法get around this issue after reading this link
基本上,我放置父.aspx頁上的虛設AsyncFileUpload控制。
E.g. Default.aspx
<span style="display:none">
<asp:AsyncFileUpload ID="DummyAsyncFileUpload" runat="server" />
</span>
注意,AsyncFileUpload控制從用戶隱藏,但仍可見ASP.NET。
我的理論是這樣的:
爲了上傳文件,你必須使用不同的編碼類型(multipart/form-data
)發佈表單的內容。
當您將AsyncFileUpload放置在UpdatePanel中時,無論出於何種原因,都不會設置編碼類型,並將其保留爲空。
例如document.forms[0].enctype = ''
因此,當您發佈表單時,它不知道如何處理文件上傳。
通過在Default.aspx頁面上放置假AsyncFileUpload,ASP.NET檢測到FileUpload控件的存在,並相應地設置編碼類型。
例如document.forms[0].enctype = 'multipart/form-data'