上傳文件在母版頁與Ajax的UpdatePanel的環境進行。
由於在母版內使用Ajax,建議使用AjaxControlToolkit.dll組件,去微軟官網下載后,並拉入BIN目錄中。
然后去web.config中配置:
創建一個母版FileMgt.master,使用ajaxtoolkit:toolkitscriptmanager和asp:ScriptManagerProxy:
創建一個網頁LoadFile.aspx,選擇則才的母版頁。其實asp:FileUpload控件不能在Ajax的UpdatePnael中使用,當點擊上傳時,已經PostBack了,根本無法拿到FileUpload控件的文件信息。但某些原因,還需要使用到Ajax的UpdatePanel控件,在這情況之下,只好使用Triggers的asp:PostBackTrigger控件來注冊了,這樣做法,就是去掉了FileUpload控件去掉了UpdatePanel控件功能,即是去掉了Ajax。
去網站根目錄之下,創建一個目錄,為了存儲上傳的文件。
現在我們去寫上傳按鈕的OnClick事件:
Ok,演示一下,看看是否正常?
以下內容於2013-07-23 16:45分補充:
如果上傳是在用戶控件進行,那怎樣注冊asp:PostBackTrigger呢? 沒事的,Insus.NET教你解決它。
創建一個用戶控件:
去FileLoadAscx.aspx.cs寫OnClick事件:
接下來,創建一個網頁,並切換至design模式,把用戶控件拉入網頁中去。
現在的問題是,怎樣把用戶控件上傳的銨鈕ID注冊在網頁page的UpdatePanel去呢?此時,你可以在用戶控件的Page_load進行。