博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 自定义FileUpload控件
阅读量:5764 次
发布时间:2019-06-18

本文共 1363 字,大约阅读时间需要 4 分钟。

摘要:ASP.NET自带的FileUpload控件会随着浏览器的不同,显示的样式也会发生改变,很不美观,为了提高用户体验度,所以我们会去自定义FileUpload控件

实现思路:用两个Button和TextBox控件来替代FileUpload控件,当点击Button时触发FileUpload控件的点击事件,然后通过JS把FileUpload控件的Value赋给TextBox

代码:

aspx文件:

1  2  3      4  5  6     
7
8
15
16 28 29
View Code

JS文件:

1 function Check_FilePath() {2     var FilePath = document.getElementById("FileUp");3     var FileNewName = document.getElementById("txtFileName");4     if (FilePath.value != '') 5     { 6         FileNewName.value = FilePath.value;7     }8 }

aspx.cs文件:

1 //Page_Load事件2 this.FileUp.Attributes.Add("onchange", "javascript:return Check_FilePath();");
1 //btnUpload_Click事件 2 //当点击btnUpload_Click时,把文件上传到指定路径 3 //需要考虑多浏览器的问题,如果是IE,直接用FileUpload控件的SaveAs功能,会保存一个空文件 4 string strFileName="本地保存文件的路径"; 5 if (HttpContext.Current.Request.Browser.Browser == "IE") 6 { 7     WebClient wClient = new WebClient(); 8     wClient.DownloadFile(this.txtFileName.Text.Trim(), strFileName); 9 }10 else11 {12     this.FileUp.PostedFile.SaveAs(strFileName);13 }

 

遗留问题:当IE浏览器安全级别高时,会取不到文件的完整路径,类似于C:\fakepath\TP.jpg,而导致保存不了;

网上的很多解决办法是手动更改IE浏览器的安全级别,我在想是否可以在代码中实现更改IE浏览器的安全级别,研究ing......

希望有解决方案的朋友们可以分享一下:)

 

如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]

如果您想转载本博客,请注明出处

如果您对本文有意见或者建议,欢迎留言

感谢您的阅读,请关注我的后续博客

你可能感兴趣的文章
ant android 打包签名和渠道
查看>>
我的友情链接
查看>>
显式锁(第十三章)
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>
CString、Char* ,char [20]、wchar_t、unsigned short转化
查看>>
从案例学RxAndroid开发(上)
查看>>
Redis学习手册(内存优化)
查看>>
浅尝TensorFlow on Kubernetes
查看>>
springboot系列十 Spring-Data-Redis
查看>>
excel进行矩阵计算
查看>>
基于Android平台的动态生成控件和动态改变控件位置的方法
查看>>
linux 死机分析
查看>>
BOM
查看>>
iOS: Block的循环引用
查看>>
mysql实战02 | 日志系统:一条SQL更新语句是如何执行的?
查看>>
ECC椭圆曲线详解(有具体实例)
查看>>
Linux常见命令(二)
查看>>
PyCharm切换解释器
查看>>
jmp far ptr s所对应的机器码
查看>>
css详解1
查看>>