FileUpload无法赋值解决方案

FileUpload无法赋值解决方案

编写人:CC阿爸

2015-1-27

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

相信大家在平时的asp.net开发项目中,肯定使用过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可以随便赋值,页面刷新也不会清空.这样换一个思路,问题不就解决了。

欢迎加入技术分享群

时间: 2024-10-11 14:22:07

FileUpload无法赋值解决方案的相关文章

Yii使用CForm类(Form builder)上传文件

模型(model) 首先需要一个文件上传的模型:FileUpload.php <?php class FileUpload extends CFormModel { public $image; /** * @return array validation rules for model attributes. */ public function rules() { return array( //note you wont need a safe rule here array('image

jquery mobile上传图片完整例子(包含ios图片横向问题处理和C#后台图片压缩)

上传图片本身是个基本的小功能,但是到了移动端就不那么简单了,相信找到这篇文章的你一定有深深的同感. 本文实例是:在(移动端)页面中点击图片,然后选择文件,然后保存.使用Asp.net 难点一:后台获取不到FileUpload的文件 解决方案:在 form 中添加 enctype="multipart/form-data" data-ajax="false" 难点二:ios图片上传后显示为横向图片(ios横拍照片无此问题:Android无此问题) 解决方案:加载exi

JavaSE 第二次学习随笔(二)

循环结构中的多层嵌套跳出 targeta: for(int i = 0; i < 100; i++){ for (int j = 0; j < 100; j++) { if(i + j == 100){ // break targeta; continue targeta; } } } 数组 * 一维数组里边存的是值(直接数据) 二维数组里边存的是一维数组的地址 * 二维数组和一维数组一样都是数据类型 二维数组类型的构成: 数据类型 + [] + [] 创建格式 type [][] name

JS高级---借用构造函数

借用构造函数 为了数据共享, 改变原型指向, 做到了继承---通过改变原型指向实现的继承 缺陷: 因为改变原型指向的同时实现继承, 直接初始化了属性,继承过来的属性的值都是一样的了, 所以,这就是问题 只能重新调用对象的属性进行重新赋值 解决方案: 继承的时候, 不用改变原型的指向, 直接调用父级的构造函数的方式来为属性赋值就可以了------ 借用构造函数: 把要继承的父级的构造函数拿过来, 使用一下就可以了 缺陷: 借用构造函数:构造函数名字.call(当前对象,属性,属性,属性....);

Verilog HDL学习_1:分频器的实现

(一)参考学习资料 (二)实际操作 1. 相关变量计算:   First Initial Second Initial Upper case H X ASCII (Dec) 72 88 Lengths of the pulse     Mu Mu_1 2.5*105 Mu_2 2.5*105 k : mu ku_1 : mu_1 1.2812:3.7188 ku_2 : mu_2 1.3438:3.6562 nu nu_1 18 nu_2 18 Ku Ku_1 64060 Ku_2 67190

VB6.0中,日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值(解决方案)

VB6.0中,日期.时间控件不允许为空时,采用文本框与日期.时间控件相互替换赋值,或许是一个不错的选择. 实现效果如下图: 代码如下: 文本框txtStopTime1 时间框DTStopTime1 格式3 - dtpCustom  HH:mm:ss Private Sub Form_Load()       txtStopTime1.ZOrder       DTStopTime1.Top = txtStopTime1.Top       DTStopTime1.Left = txtStopTi

react hooks useState 赋值优化解决方案

//性能优化一点,极少成多,网页会成为大厂所青睐的网页 //如下一个hooks函数 import React,{useState} from 'react'; // import TodoList from './TodoList'; function App() { let a=1; console.log(1) //可以看到数据更新,就执行一次,上面的let a 也执行,数据较多时损耗性能. const [b,setb]=useState(a); //hooks解构赋值 return ( <

IE8 innerHTML赋值时包含多级HTML标签时的解决方案

var inhtml = ''; var font = document.createElement("font"); var a = document.createElement("a"); var div = document.createElement("div"); font.style.fontSize = "18px"; if (str == 0) { font.style.color = "#33CC3

angular 使用blob 产生 url动态给ng-href赋值时候 出现unsafe 解决方案

angular 默认情况下 的安全协议 是  https?|ftp|mailto| 当我们使用blob 对象去产生url时,需要设定blob为安全协议 var app = angular.module( 'myApp', [] ).config( [ '$compileProvider', function( $compileProvider ) { $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrom