我將「manualy」設置文件設置爲FileLoad存在問題。將文件設置爲FileLoad無法正常工作(C#.net)
因此,這裏是我的情況:
我需要記住文件加載回發後頁面上。所以我有FileLoad對象和Button將做PostBack。回發之後,我設置了Session [「MenuFile」] = FileLoad ;,會話記錄被創建,但是,當我嘗試將該文件重新設置爲FileLoad對象時,它真的到達那裏(我可以在LoadFile對象上看到該文件)。但在頁面上它是空的。我試圖在FileLoad對象的Load,Init事件上設置它,但沒有任何工作。
這就像FileLoad從會話中成功加載文件並將其「重置」爲默認設置(空白)。
而且我的繼承人代碼:
<tr>
<td>
<asp:Label runat="server" Text="Menu:"></asp:Label></td>
<td>
<asp:FileUpload runat="server" ID="fuMenu"/>
<asp:RequiredFieldValidator runat="server" ID="rfvMenu" ControlToValidate="fuMenu" ErrorMessage="Menu file is required" ForeColor="Red">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Button runat="server" ID="neco" />
<asp:ValidationSummary runat="server"/>
</td>
</tr>
而後面的代碼:
protected void Page_Load(object sender, EventArgs e)
{
// If first time page is submitted and we have file in FileUpload control but not in session
// Store the values to Session Object
if (Session["MenuFile"] == null && fuMenu.HasFile)
{
Session["MenuFile"] = fuMenu;
}
// Next time submit and Session has values but FileUpload is Blank
// Return the values from session to FileUpload
else if (Session["MenuFile"] != null && (!fuMenu.HasFile))
{
fuMenu = (FileUpload)Session["MenuFile"];
}
// Now there could be another sictution when Session has File but user want to change the file
// In this case we have to change the file in session object
else if (fuMenu.HasFile)
{
Session["MenuFile"] = fuMenu;
}
}
我需要用會話中工作,所以我不能使用這樣的: How to Maintain FileUpload Control’s State after PostBack Information disappears on button click
我真的很絕望,我會很樂意提供任何幫助。 謝謝!
你在使用'UpDatePanel'嗎? – MethodMan 2013-04-28 00:10:16
是的,我忘了提及它。我已經嘗試過,沒有它,結果相同。 :( – Mastenka 2013-04-28 00:34:38