ASP.NET WEB服务器控件的使用

内容:
web服务器控件概述
输入验证控件的使用
服务器控件中的客户端功能
IE  Web Control的使用
服务器日期控件的编写

导出类
大多数内置的ASP.NET服务器控件都会发送一个HTML元素。例如,TextBox Web控件发送一个<inpu>元素,其类型属性设置为text,DataGrid Web控件发送一个<table>元素,为每条要显示的记录发送<tr>元素,为每个字段发送<td>元素。
但是,不是所有的控件都需要发送HTML元素。例如,Repeater不将其输出放在HTML元素中。
那些显示为HTML元素的控件,如TextBox、Button、DataGrid等等,是从System.Web.UI.WebControls.WebControl类导出的,而那些不产生HTML元素的控件,如Literal、Reapter等,是从System.Web.UI.Control类导出的。

Web控件的特点
丰富而一致的对象模型:WebControl实现了对所有控件通用的大量属性,这些属性包括ForeColor、BackColor、Font、Enabled等
对浏览器的自动检测:Web控件能够自动检测客户机浏览器的功能,并相应地调整它们所提交的HTML,从而充分发挥浏览器的功能。
数据绑定:在Web窗体页中,可以对数据的任何属性进行数据绑定。

HTML控件,WEB控件对比
控件抽象
HTML控件不具备任何抽象能力。每种控件与HTML标记都是一一对应的。
Web控件创建了更高级别的抽象,它们没有任何对应的HTML标记(如Calander和DataGrid)。因为它们不直接映射为HTML标记,所以Web控件还能在适当的场合起到合并功能的作用(例如用一个TextBox控件来代替多个标记)。这种抽象为使用第三方提供的种类丰富的控件工具箱打开了方便之门。
对象模型
对象模型HTML控件提供了以HTML为中心的对象模型。每种控件都包括一个属性集,可以使用该属性集来控制标记的属性。这个属性集使用了字符串名/值对,并且不是强类型的。
Web控件提供了基于表单的、类似于Visual Basic的编程模式。它们也提供了属性集,但它们的主要目标在于提供一种格式丰富、类型安全且具有一致性的对象模型。每种Web控件都包含一组标准的属性,如ForeColor、BackColor、Font等,Web控件能自动对它们生成的结果进行调整,以确保输出结果在高版本浏览器和低版本浏览器上的工作同样出色。Web控件还能够针对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。例如:Validation控件还可以通过客户端的脚本来创建用于高级浏览器的具有高度交互性的页面。
对生成的HTML的控制
HTML控件允许您完全控制所显示的内容以及发送到客户机浏览器的内容。
Web控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控制能力。

输入验证控件
手写代码控制表单验证的弊病
烦琐 不安全

下面是微软的工作人员,给出的商业网站用手写代码控制表单验证的弊病:
尽管错误信息或图标经常与输入元素相邻,但是它们几乎总是位于表的不同单元格中
页面中经常会有一个区域来汇总所有的错误
许多站点包含客户端脚本,以便提供更快捷的反馈,同时防止白白地在与服务器之间往返。
许多包含客户端脚本的站点在出现错误时会显示信息框
不仅会验证文本输入,还会验证下拉列表和单选按钮
如果某个字段为空,站点通常会显示与该条目无效时不同的信息或图标
许多有效性检查可以很好地代替常用的表达式
验证通常是基于两个输入之间的比较结果
90%或90%以上的验证任务是一些常见的操作,例如检查姓名和邮政编码,大多数站点似乎仍在重复进行这些工作
因为站点之间的差别通常太大,无法获得一种完美的解决方案来处理每个站点的所有验证任务

ASP.NET解决了ASP的难题,可以验证表单填写的正确性!

ASP.NET进行表单验证的过程:
aspx文件被编译,运行
用户输入数据
触发Page_Load事件
更改Web控件属性,提示哪里没有输入
将页面用HTML重写输出给用户
再次提醒用户输入

验证控件的功能:
确保所需字段已经填写
确保用户输入的数据未超出给定的范围
确保用户输入的数据符合特定的模式
根据给定的条件比较两个控件,或把控件的值与指定的值相比较
确保提交页面之前页面上的所有控件都是有效的

验证控件介绍:
RequiredFieldValidator 检查用户是否输入或选择了任何内容
RegularExpressionValidator 根据规则表达式验证用户输入。该过程允许进行许多种类的检查,可以用于邮政编码和电话号码的检查
CompareValidator 将输入控件与一个固定值或另一个输入控件进行比较。例如,它可以用在口令验证字段中。也可以用来比较输入的日期和数字
RangeValidate 与CompareValidator非常类似,只是它用来检查输入是否在两个值或其他输入控件的值之间
CustomValidate 允许用户编写自己的代码加入到验证框架中

验证控件的共享成员:
ControlToValidate 设置或获取一个string 类型的值,此string类型的值指定要验证的输入控件
Display 设置或获取错误信息如何显示的值
EnableClientScript 设置或获取是否执行客户端验证的布尔值
Enabled 确定是否使用控件
ErrorMessage string值,表示用户输入无效时要显示的错误信息
ForeColor 错误信息的显示颜色
IsValid 表示需要验证的控件是否通过验证
Validate 此方法导致它调用的控件执行验证,并用结果更新IsValid属性

正则表达式验证非常有用,功能强大


从ASP.NET服务器控件插入插入客户端脚本
尽管从技术角度讲,ASP.NET服务器控件的所有功能都可以在服务器端执行,但通常情况下通过添加客户端脚本可以大大增强服务器控件的可用性。例如,ASP.NET验证web控件可以在服务器端执行所有的验证检查,但是,对于高版本浏览器,验证WEB控件也会发送客户端脚本,以在客户端进行验证。

ASP.NET服务器控件可以发送两种客户端脚本:
客户端脚本块:客户端脚本块通常是用Javascript编写的,其中通常包含在发生特定的客户端事件时执行的函数
客户端HTML属性:客户端HTML属性提供将客户端事件与客户端脚本联系在一起的方法

ASP.NET服务器控件中发送客户端脚本块
使用System.Web.UI.Page类包含的两个方法可以将客户端脚本代码发送到由ASP.NET WEB页面提供的HTML中:
RegisterStartupScript(key,script):在web窗体的结尾处(在</form>标识之前)发送脚本块。
RegisterClientScriptBlock(key,script):在web窗体的开始处(紧接着<form runat="server">标识之后)发送脚本块

ASP.NET服务器控件中发送客户端脚本块
带有指定关键字的脚本块是否已添加到页面中
IsStartupScriptRegistered(key)
IsClientScriptBlockRegistered(key)
使用IsStartupScript()和IsClientScriptBlock()方法。这样一来,验证web控件就不会先花时间构建要发送的客户端代码,而是先检查是否已经存在使用关键字ValidateIncludeScript注册的脚本。如果存在,控件就会放弃构建客户端脚本块,因为脚本块已经由页面上的其他控件构建了

发送ASP.NET服务器web控件的HTML属性
这种方法通常只适用于从System.Web.UI.WebControls.WebControl类导出的服务器控件,因为从这个类导出的控件会发送某些HTML元素。
WebControl类包含一个将HTML元素属性添加到由web控件发出的HTML元素的方法。该方法称为AddAttributeToRender(),它只有一个输入参数,即HtmlTextWriter的实例。
要向WEB控件添加HMTL属性,可以使用HtmlTextWriter的两个方法之一:
AddAttribute():用于将title、class、style和onclick等HTML属性添加到HTML元素
AddStyleAttribute():用于将样式设置添加到HTML元素,如background-color,color和font-size等
 
IE web control
2002年,Microsoft发布了四种asp.net web控件,用于为使用IE的web访问者提供更好的体验。这些web控件称为IE WEB控件,包含以下四种控件:
MultiPage控件
TabStrip web控件
Toolbar web控件
TreeView web控件

控件的安装
下载 http://asp.net/iewebcontrols/download.aspx
下载并安装完IE web控件后,将创建一个新目录(默认为c:\program files\web controls\,也可以在安装过程中配置此目录
找到这个新目录,然后点击build.bat文件,build子目录将包含程序集文件System.Web.UI.WebControls.dll和子目录Runtime
在web根目录下创建目录/webctrl_client/1_0,把Runtime目录下的文件拷贝过去
把.dll文件添加到工具箱

TreeView IE Web控件入门
当TreeView IE Web控件在访问者浏览器中显示时,会显示一棵树,此树与windows资源管理器中的树非常相似,不同的是,treeview可以由任意多个TreeNode对象组成。每个TreeNode对象都可以关联文本和图像。
TreeNodeType定义一个节点类型,适用于TreeView中的一个或一组节点
另外,TreeNode还可以显示为超链接并与某个URL相关联,每个TreeNode还可以包括任意多个TreeNode对象。包含TreeNode及其子节点的层次结构构成了TreeView控件所呈现的树结构

转载于:https://www.cnblogs.com/miniflyfish/archive/2006/03/22/356118.html

4.1 使用控件显示文本 实例 显示密码格式文本 实例 显示长日期格式时间 实例 显示金额格式文本 4.2 使用控件显示图片 实例 显示验证码图片 实例 动态显示用户头像 实例 使用网页对话框显示图片 实例 实现上传图片 实例 GridView控件显示商品缩略图 4.3 控件的超级链接 实例 ImageButton按钮超级链接查看商品详细信息 实例 GridView控件使用超级链接模板列查看详细信息 实例 DataList控件模板中使用LinkButton查看详细信息 4.4 下拉列表框的应用 实例 间接改变DropDownList当前选项 实例 实现多个DropDownList控件的联动 实例 动态添加、删除DropDownList控件选项 4.5 单选按钮的应用 实例 性别选择 实例 网络考试系统中单选题答案的选择 4.6 复选框的应用 实例 登录身份选择 实例 网络考试系统中多选题答案的选择 4.7 控件连接数据源 实例 通过向导配置AccessDataSource 实例 通过向导配置SqlDataSource 实例 通过向导配置XmlDataSource 4.8 GridView控件的应用 实例 数据绑定并实现分页功能 实例 选中、编辑、取消、删除数据项 实例 GridView实现正反双项排序功能 实例 GridView控件中DropDownList控件的绑定 实例 通过CheckBox删除选中记录 实例 删除GridView控件行信息弹出确认提示框 实例 在GridView控件中实现自动编号 实例 GridView控件实现主细表 实例 查看当前页详细信息 实例 单元格中指定字符串固定长度 实例 供求信息网审核发布信息 实例 根据学生成绩合格与不合格显示不同颜色 4.9 DataList控件使用 实例 绑定数据并实现分页 实例 编辑DataList控件模板显示员工信息 实例 DataList控件实现主细表 实例 DataList控件实现删除功能 4.9 Repeater控件使用 实例 Repeater控件数据绑定 实例 Repeater控件分页 实例 编辑Repeater控件标识商品信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值