2010-09-03 60 views
2

正如它聲明的,我需要上傳文件,然後在第二頁的pre_init事件中使用它。服務器生命週期可以防止這種情況發生(因爲pre_init發生在事件處理程序之前),所以我可以看到的唯一方法是使用page1上載文件,然後對page2執行response.redirect,以便我可以使用該文件pre_init。但是,這似乎是a),並且b)需要我將上傳的文件名傳遞到第二頁。需要上傳文件,並在pre-init事件中使用它

反正有沒有,或者我會不得不喜歡和包袱呢? (我需要pre_init事件添加步驟到wizardcontrol,並反序列化文件以獲取對象添加到它)。

感謝

+0

你說,「我需要通過上傳的文件名。」 *什麼*上傳文件名?你打算將文件存儲到臨時目錄嗎?僅供參考,FileUploadControl的文件名屬性不是**服務器端文件名。 – 2010-09-03 14:28:39

回答

2

您應該能夠直接從pre_init使用Request.Files:

protected void Page_PreInit(object sender, EventArgs e) 
{ 
    HttpPostedFile file = Request.Files["IDOfFileUploadControl"]; 
} 
+0

乾杯,這是我所需要的,不知道Request.Files – Psytronic 2010-09-03 14:48:43

0

跨頁投遞似乎是一個解決方案。你可以從以前的頁面這樣FileUpload控件:

if (Page.PreviousPage != null) 
{ 
    FileUpload prev = 
     (FileUpload)Page.PreviousPage.FindControl("FileUpload1"); 
    if (prev != null) 
    { 
     // Operations. 
    } 
} 

如果它工作在Pre_Init事件,但值得一試我還沒有試過。

有關跨頁投遞的詳細信息:

http://msdn.microsoft.com/en-us/library/ms178139.aspx

相關問題