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】,否则渲染为普通的

标签 3、Button控件 OnClientClick**属性,不是事件**,当用户点击按钮的时候在浏览器端执行的代码,注意OnClientClick是字符串属性,写的代码是JavaScript代码,运行在浏览器端。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/4930a414731a48948aefb6087204c78e.png)



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 控件总结相关推荐

  1. 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图

    Nikhil Kothari Microsoft Corporation 2000年8月 简介 Microsoft® Visual Studio.NET 的下一发行版包括 DataGrid Web 控 ...

  2. 一起谈.NET技术,asp.net控件开发基础(18)

    本篇继续上篇的讨论,可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的 ...

  3. ASP:Literal控件用法

    ASP:Literal控件用法 刚开始学.NET的朋友可能不清楚Literal和Label到底有什么区别,其实它们也只有一个区别,就是在转换成客户端Html代码后,Label就成了<span&g ...

  4. 一起谈.NET技术,asp.net控件开发基础(20)

    上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应.这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件. ...

  5. Silverlight 3.0 不再包含 asp:silverlight 控件

    从 Silverlight 2 升级到 Silverlight 3 可能会报如下错误,程序中可能引用了 asp:silverlight 控件: Could not load file or assem ...

  6. asp.net控件本质

    .net控件本质 在我的一个项目中需要对于控件进行区分总结,我在网上找了找加上自己的实际测试总结如下:(如果有什么不正确的请即使指出,一起讨论,大家共同进步)         asp.net之所以现在 ...

  7. Asp.net控件之异同:HTML控件与Web服务器控件

    Asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等.这里我主要说说html控件.html服务 ...

  8. asp.net控件库FineUI使用入门图解

    FineUI是一个基于 jQuery / ExtJS 的 ASP.NET 控件库,其宣传语是: 创建 No JavaScript,No CSS,No UpdatePanel,No ViewState, ...

  9. 【转】Asp.net控件开发学习笔记整理篇 - WebControl基类

    最近一直在做MVC项目,对于WEBFORM 好像快忘记了.周末无聊,顺带看看他人的笔记.再次温习下. 复习大纲: 导航.页面生命周期及其它导论 一.服务器控件生命周期 二.控件开发基础 三.Asp.n ...

  10. 介绍ASP.NET控件ID

    ASP.NET控件ID 经常见到有人说在ASP.NET中不要使用动态控件,我想主要的原因在于使用动态控件会带来一些问题,在做项目的过程中,我将由动态加载控件引发的总是作了一个小小的总结. 1 .在使用 ...

最新文章

  1. tensorflow随笔-正则化与指数衰减率
  2. 群晖ffmpeg_群晖Video station支持DTS和EAC3
  3. jQuery.fn.load调用时给url加selector之后执行脚本的方法
  4. docker数据卷的使用 -v --volumes--from
  5. FeignClient与RestTemplate的区别
  6. Redis--高并发之分布式锁
  7. 网络操作系统第224页作业
  8. 区块链开发(三)以太坊客户端命令行选项汇总
  9. Android APK实现WIFI协议包抓取(上)-实现思路
  10. dw编写手机版html,手机移动网页制作:用
  11. Cydia怎样添加威锋源
  12. 爬取B站20万+条弹幕,我学会了如何成为B站老司机
  13. 如何防止驱动被恶意利用
  14. 【读书笔记】商业自传-阿里巴巴/淘宝/阿里云/支付宝,亚洲电子商务教父:马云传_2019.10.25
  15. android 动态替换logo
  16. 安装SolidWorks显示服务器,SolidWorks 映像管理安装详解
  17. 能量时域空间物理_2.1时域数学建模,二阶系统阻尼比与品质因数存在这样奇妙的关系...
  18. 元学习—关系网络和匹配网络
  19. 老农解决猫狗鱼的问题(黑马基础习题)
  20. svn切换分支提示没有共同的祖先

热门文章

  1. linux出现too many openfile的两种解决方法
  2. python的django框架从入门到熟练【保姆式教学】第一篇
  3. Nginx做图片服务器
  4. linux下vim设置
  5. 解决虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题(一般出现在win7 旗舰版)...
  6. ⭐算法入门⭐《哈希表》中等05 —— LeetCode 215. 数组中的第K个最大元素
  7. 二、JAVA基础(个人向)
  8. pydoc命令是用来做什么的
  9. Ubuntu配置多版本Python运行环境
  10. Linux,用户与用户组的创建与分配