ASP.NET 控件总结
ASP.NET 服务器控件是ASP.NET对HTML的封装
1、FileUpload
渲染成input(type=file),只允许上传指定类型文件,上传文件夹不给执行选项
if(FileUpload1.HasFile) //用户是否选择了文件
{ string path = Server.MapPath("../EM/aa/"); //根目录 FileUpload1.SaveAs(path + FileUpload1.FileName);
}```csharp 同一个FileUpload 多个文件 上传if (FileUpload1.HasFile){string path = Server.MapPath("../EM/aa/");IList < HttpPostedFile > postedFiles = FileUpload1.PostedFiles;for (int i = 0; i < postedFiles.Count; i++){postedFiles[i].SaveAs(path + postedFiles[i].FileName);} }
// 多文件上传,不限制一个FileUpload 多个文件, 提交时,所有的文件。
string path = Server.MapPath(“…/EM/aa/”);
HttpFileCollection files = Request.Files;
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile postedFile = files[i];
try
{
if (postedFile.ContentLength > 0)
{
postedFile.SaveAs(path + postedFile.FileName);
}
}
catch (Exception Ex)
{
Label1.Text += "发生错误: " + Ex.Message;
}
}
``
2、panel 控件 用来盛放一些控件。如果设定GroupingText属性 那么就渲染成
xxxx //其它控件 也就是GroupBox效果【WinFrom】,否则渲染为普通的
LinKButton,用法和Button差不多,区别就是Button渲染控件为按钮,而LinkButton渲染为超链接。
不要用LinkButton来实现普通的超链接,因为LinkButton的href为一段Javas代码,进行的是表单Post。
ImageButton控件也和Button差不多,只不过是显示为图片,渲染为input(type=image)
Button、LinkButton、ImageButton等控件都有CommandName、CommandArgument两个属性和Command事件,可以让多个按钮控件共享一个Command事件处理函数,通过读取事件对象e.CommmandName、e.CommandArgument两个属性读取被点击按钮上设置的这两个参数来执行不同的操作。
4、Label控件 Text属性为显示文本。
AssociatedControlID属性用来关联一个控件,如果为空的话会展示一个span 标签,如果指定了一个控件的id,则会展示为一个html中的并且将for 属性设置为被关联控件的Clientid
5、验证控件
RequireFieldValidator
RangeValidator
CompareValidatator
RegularExpressionValidator
CustomValidator
ValidattionSummary
ValidattionSummary:同一个组别所有校验错误,验证总结,ErrorMessage 汇总,Text 错误,显示在控件旁边。
RangeValidator、RegularExpressionValidator、CompareValidatator等都不会对非空值进行校验的。所以如果字符不允许为空,则需要使用RequireFieldValidator控件
客户端和服务端都要进行校验的,EnableClientScript 布尔值,规定是否启用客户端验证。如果设置false,则客户端渲染就没有这验证标签了,但服务端仍然会校验的,只要校验不通过,页面还会错误提示的
页面中的IsValid属性用来判断页面中的所有Validator是否都校验通过,只要都校验通过才为True,即使页面中的Validator服务端校验报错(禁用Javascript跳过客户端校验),在服务端方法中的业务代码也会被执行,因此如果代码在数据校验不通过的不能执行,则需要判断IsValid的值。
所有校验控件都要Display属性,用来决定如何显示错误信息。三个值:
Static:没有错误信息的时候控件的Visibility样式为hidden来实现隐藏
Dynamic:没有错误信息的时候控件的Display样式为none来实现隐藏
none:
display:none 和visibility:hidden
hidden:隐藏控件仍然会占据空间,只是人眼看不到,DOM还是可以读取的
none:隐藏控件不会占据空间了,DOM、人眼都看不到了。
如果将按钮控件(Button、ImageButton、LinkButton)的CasueValidation属性设置为false,则这个按钮的点击不会触发校验。
CustomValidator: ServerValidate事件为服务端的校验代码,在事件处理函数中读取args.Value来获取待校验的值,如果值合法则将args.IsValid设置为True,否则设置为false。
如果为ClientValidationFunction设定一个函数名,那么会首先在客户端调用指定的JavaScript函数进行客户端校验,否则将只做服务端校验。客户端校验函数的签名为: 函数名(src,args),args的属性以及意义和服务端的一样
ASP.NET 控件总结相关推荐
- 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图
Nikhil Kothari Microsoft Corporation 2000年8月 简介 Microsoft® Visual Studio.NET 的下一发行版包括 DataGrid Web 控 ...
- 一起谈.NET技术,asp.net控件开发基础(18)
本篇继续上篇的讨论,可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的 ...
- ASP:Literal控件用法
ASP:Literal控件用法 刚开始学.NET的朋友可能不清楚Literal和Label到底有什么区别,其实它们也只有一个区别,就是在转换成客户端Html代码后,Label就成了<span&g ...
- 一起谈.NET技术,asp.net控件开发基础(20)
上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应.这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件. ...
- Silverlight 3.0 不再包含 asp:silverlight 控件
从 Silverlight 2 升级到 Silverlight 3 可能会报如下错误,程序中可能引用了 asp:silverlight 控件: Could not load file or assem ...
- asp.net控件本质
.net控件本质 在我的一个项目中需要对于控件进行区分总结,我在网上找了找加上自己的实际测试总结如下:(如果有什么不正确的请即使指出,一起讨论,大家共同进步) asp.net之所以现在 ...
- Asp.net控件之异同:HTML控件与Web服务器控件
Asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等.这里我主要说说html控件.html服务 ...
- asp.net控件库FineUI使用入门图解
FineUI是一个基于 jQuery / ExtJS 的 ASP.NET 控件库,其宣传语是: 创建 No JavaScript,No CSS,No UpdatePanel,No ViewState, ...
- 【转】Asp.net控件开发学习笔记整理篇 - WebControl基类
最近一直在做MVC项目,对于WEBFORM 好像快忘记了.周末无聊,顺带看看他人的笔记.再次温习下. 复习大纲: 导航.页面生命周期及其它导论 一.服务器控件生命周期 二.控件开发基础 三.Asp.n ...
- 介绍ASP.NET控件ID
ASP.NET控件ID 经常见到有人说在ASP.NET中不要使用动态控件,我想主要的原因在于使用动态控件会带来一些问题,在做项目的过程中,我将由动态加载控件引发的总是作了一个小小的总结. 1 .在使用 ...
最新文章
- tensorflow随笔-正则化与指数衰减率
- 群晖ffmpeg_群晖Video station支持DTS和EAC3
- jQuery.fn.load调用时给url加selector之后执行脚本的方法
- docker数据卷的使用 -v --volumes--from
- FeignClient与RestTemplate的区别
- Redis--高并发之分布式锁
- 网络操作系统第224页作业
- 区块链开发(三)以太坊客户端命令行选项汇总
- Android APK实现WIFI协议包抓取(上)-实现思路
- dw编写手机版html,手机移动网页制作:用
- Cydia怎样添加威锋源
- 爬取B站20万+条弹幕,我学会了如何成为B站老司机
- 如何防止驱动被恶意利用
- 【读书笔记】商业自传-阿里巴巴/淘宝/阿里云/支付宝,亚洲电子商务教父:马云传_2019.10.25
- android 动态替换logo
- 安装SolidWorks显示服务器,SolidWorks 映像管理安装详解
- 能量时域空间物理_2.1时域数学建模,二阶系统阻尼比与品质因数存在这样奇妙的关系...
- 元学习—关系网络和匹配网络
- 老农解决猫狗鱼的问题(黑马基础习题)
- svn切换分支提示没有共同的祖先
热门文章
- linux出现too many openfile的两种解决方法
- python的django框架从入门到熟练【保姆式教学】第一篇
- Nginx做图片服务器
- linux下vim设置
- 解决虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题(一般出现在win7 旗舰版)...
- ⭐算法入门⭐《哈希表》中等05 —— LeetCode 215. 数组中的第K个最大元素
- 二、JAVA基础(个人向)
- pydoc命令是用来做什么的
- Ubuntu配置多版本Python运行环境
- Linux,用户与用户组的创建与分配