网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用asp.net还原与恢复sqlserver数.
.SQL Artisan多表查询和统计.
.一段获得网卡地址的代码,可以用来.
.自动处理过长字符串显示的Web控件.
.asp.net StreamReader 创建文件.
.修改asp.net2.0内置成员管理中的.
.ASP.NET 2.0 中使用自定义缓存依.
..Net 下信号量(Semaphore)的一种.
.ASP.Net中自定义Http处理及应用之.
.通过改善架构来提高 ASP.Net 应用.
.对.NET Framework 反射的反思.
.浅谈DotNet 保护中的字符串加密技.
.httpRuntime 一点经验.
.在ASP.NET 2.0中使用页面导航控件.
.asp.net 2的文件上传.
.对asp.net1.1开发模板类的一些修.
.为ASP.NET封装的SQL数据库访问类.
.IIS7 会重用那些不该重用 HttpHa.
.UNIX时间戳与.net日期类的转换 .
.关于asp.net c#中对cookie的操作.

如何在客户端清除fileUpLoad控件的文件路径

发表日期:2008-12-12


  今天在写一项目的更新模块遇到的一个问题:.net fileUpLoad控件只要选择了文件在Postback的时候这个文件都会被自动上传到服务器,而我的更新模块里需要有选择的判断要不要上传文件,原理说起来比较简单,直接把fileUpLoad控件选定的文件去除不就行了贝,可是使用js去除的时候发现IE下fileUpLoad控件的值居然还是只读的,而在FireFox下是可以更改的。如果在.net提交事件中来处理是不是要保存这个文件那就意味着,被fileUpLoad控件选择的文件都会被上传一次到服务器,只不过是你存不存的问题了,相当浪费带宽及服务器资源啊。不过还好馒头的BLOG里给出了解决的办法,经比较个人感觉以下方式比较好:
引用
创建一个新的form,把上传控件临时放过来,再调用这个form的reset方法,完工之后再把上传控件弄回去。这个form无需进入DOM结构便能正常工作,所以不用担心会对界面有任影响。
  具体解决代码:view plaincopy to clipboardprint?
//把这个JS放到页面的<body>中  
<script language="javascript" type="text/javascript">  
//清空文件上传框,file为上传表单对像  
function clearFileInput(file){  
var form=document.createElement('form');  
document.body.appendChild(form);  
//记住file在旧表单中的的位置  
var pos=file.nextSibling;  
form.appendChild(file);  
form.reset();  
pos.parentNode.insertBefore(file,pos);  
document.body.removeChild(form);  
}  
</script> 

 //把这个JS放到页面的<body>中
 <script language="javascript" type="text/javascript">
 //清空文件上传框,file为上传表单对像
 function clearFileInput(file){
 var form=document.createElement('form');
 document.body.appendChild(form);
 //记住file在旧表单中的的位置
 var pos=file.nextSibling;
 form.appendChild(file);
 form.reset();
 pos.parentNode.insertBefore(file,pos);
 document.body.removeChild(form);
 }
 </script>view plaincopy to clipboardprint?
//添加按钮的客户端脚本事件,当然你也可以写在按钮的属性里,或是直接在HTML的button上加onclick事件也一样  
btnCannel.OnClientClick = "clearFileInput(document.getElementById('" + 上传控件ID.ClientID + "'));" 

上一篇:asp.net 2.0 主题中多CSS文件引用 人气:930
下一篇:简述.Net下的应用程序授权实战步骤 人气:70
浏览全部fileUpLoad的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐