FileUpload無法賦值解決方案
編寫人:CC阿爸
2015-1-27
今天在這里,我想與大家一起分享如何處理fileupload控件不能賦值的問題。有興趣的同學,可以一同探討與學習一下,否則就略過吧。
相信大家在平時的asp.net開發項目中,肯定使用過fileupload控件。如下圖
用戶在上傳完附檔時,fileupload的地址欄會正常顯示上傳的路徑,但是我們平時經常遇到頁面刷新后,FileUpload之前選擇的為空了,用戶需要重新選擇文件,很麻煩。另:上傳完后,更新到數據,再加載畫面時,地址欄又被清空了。
而且:出于安全的考慮,fileupload控件是不可賦值的。但我們可以采用其它方法來處理:
如:可增加一個textbox框,將fileupload的控件的寬度設置為0,
<tdclass="TableItem"><asp:TextBoxID="txtFileName"runat="server"/>
<asp:FileUploadID="FileUpload"runat="server"Width="0px"/></td><tdclass="TableItem"><asp:ButtonID="btnUpload"runat="server"Text="Upload"class="Button"OnClick="btnUpload_Click"/><asp:ButtonID="btnDownload"runat="server"Text="Download"class="Button"onclick="btnDownload_Click"/><asp:ButtonID="btnDelete"runat="server"Text="Delete"class="Button"onclick="btnDelete_Click"/></td>
并在pageload中加入以下代碼:
this.FileUpload.Attributes.Add("onchange","document.getElementById('"+txtFileName.ClientID+"').value=this.value");在FileUpload的onchange事件中把選擇的文件路徑賦值給TextBox,這里的TextBox和寬度為0的fileupload組合就變成了這個偽FileUpload,這里的TextBox可以隨便賦值,頁面刷新也不會清空.這樣換一個思路,問題不就解決了。
歡迎加入技術分享群
新聞熱點
疑難解答