FileUpload无法赋值解决方案

今天在这里,我想与大家一起分享如何处理fileupload控件不能赋值的问题。有兴趣的同学,可以一同探讨与学习一下,否则就略过吧。

相信大家在平时的asp.net开发项目中,肯定使用过fileupload控件。如下图

FileUpload无法赋值解决方案

用户在上传完附档时,fileupload的地址栏会正常显示上传的路径,但是我们平时经常遇到页面刷新后,FileUpload之前选择的为空了,用户需要重新选择文件,很麻烦。另:上传完后,更新到数据,再加载画面时,地址栏又被清空了。

而且:出于安全的考虑,fileupload控件是不可赋值的。但我们可以采用其它方法来处理:

如:可增加一个textbox框,将fileupload的控件的宽度设置为0,

 <td class="TableItem" ><asp:TextBox ID="txtFileName"  runat="server" />

<asp:FileUpload ID="FileUpload" runat="server"  Width="0px" />
</td>
<td class="TableItem" >
<asp:Button ID="btnUpload" runat="server" Text="Upload" class="Button" OnClick="btnUpload_Click" />
<asp:Button ID="btnDownload" runat="server" Text="Download" class="Button" onclick="btnDownload_Click"  />
<asp:Button ID="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可以随便赋值,页面刷新也不会清空.这样换一个思路,问题不就解决了。

 

上一篇:深度分析Fileupload是如何删除临时文件的


下一篇:2021-06-27 OpenShift挂载,映射linux路径