- 服务器端控件标签都以asp: 开头这些控件都必须具有Id属性和runat=”server”属性
一.ASP.NET控件分类
1. Web服务器控件
服务器端控件标签都以asp: 开头, 后面是控件类型, 这些控件都必须具有Id属性和runat=”server”属性. 服务器控件可以在服务器端代码中引用.
2. Html控件
只是标准的HTML元素, 但如果提供id属性 和 runat=”server” 属性, 都可以转换成服务器控件, 在服务器端脚本中引用.
类
说明
HtmlGenericControl
定义通用的Html服务器控件,具有TagName属性,可操控所有Html服务器控件对象,如:span、body、p等
HtmlAnchor
HtmlInputText
HtmlInputHidden
HtmlInputCheckBox
HtmlInputRadioButton
HtmlInputButton
、、
......
二. 常用Web标准控件
Label – 标签
属性
Text
文本
BackColor/BorderColor/ForeColor
背景颜色 / 边框颜色/ 字体颜色
BorderStyle
边框样式(实线,虚线…)
MSDN中System.Web.UI.WebControls.BorderStyle枚举
BorderWidth
边框宽度
Font
字体
ToolTip
IE中显示出的浮动提示文字
CssClass
Label关联的CSS样式表中的类名
TextBox – 文本框
属性
TextMode
SingleLine 单行 / MultiLine 多行 / Password 密码
Columns
指定显示的列数
Row
指定显示的行数
Wrap
当TextMode为MultiLine时文本是否自动换行
方法
Focus()
将表单的初始焦点定位到当前TextBox
Literal – 在网页上保留显示静态文本的位置 (占位符)
Literal和Label到底有什么区别,其实它们也只有一个区别,就是在转换成客户端Html代码后,Label就成了,而Literal则是什么标记都不带
属性
Text
获取或设置在 Literal 控件中显示的标题
Button / LinkButton – 按钮
Button和LinkButton控件都用于把表单回传给服务器, 引发服务器Click事件处理, 只是Button生成一个按钮, LinkButton生成一个链接
属性
AccessKey
指定一个导向该Button的按键,
如设置A则用户键入(Alt+A)则导向此控件
CommandName
传给Command事件的命令名
CommandArgument
传给Command事件的命令参数
PostBackUrl
设置将表单传给另一个页面
事件
Click
按钮点击事件
Command
单击按钮并定义关联命令时触发
与Click不同, 事件处理方法中可以获取CommandName和CommandArgument属性, 可根据属性值做不同处理
ImageButton – 图像按钮
(1) 用法与上述的Button/LinkButton控件类似, 但ImageButton显示出来的是一张图片.
使用时应该设置 ImageUrl = " ~/Images/menu.gif "
(2) 注意: ImageButton控件Click事件处理程序与Button/LinkButton有点不同, ImageButton.Click事件处理程序第二个参数是ImageClickEventArgs类对象. 该参数有下面两个属性:
X – 用户点击图片时的X坐标 Y– 用户点击图片时的Y坐标
Button / LinkButton 的 Click 事件
ImageButton 的 Click 事件
void Button_Click(object sender, EventArgs e)
ImageButton_Click(
object sender, ImageClickEventArgs e)
RadioButton – 单选按钮
属性
Checked
获取或设置RadioButton是否选中
GroupName
RadioButton所在的单选按钮组的名称
AutoPostBack
在单选按钮被选中或取消时,是否自动回传表单(提交)
很多控件都有该属性,默认值为false
事件
CheckedChanged
当RadioButton的Checked属性改变时在服务器端引发
DropDownList – 下拉列表
(1) 成员
属性
Items
下拉列表项, ListItem对象的集合
SelectedIndex
选定项索引
SelectedItem
选定项对象(选中的ListItem对象)
SelectedValue
选定项的值
DataSource
数据源, 绑定时还须调用DataBind()方法
DataTextField
为列表项提供文本内容的数据源字段名
DataValueField
指定为各列表项提供值的数据源字段
方法
DataBind()
将数据源绑定到被调用的服务器控件及其所有子控件
事件
SelectedIndexChanged
当列表控件的选定项变化时发生
(2) DropDownList .Items中的ListItem对象(列表项对象)
属性
Text
ListItem显示的文本
Value
与该ListItem对象关联的值
Selected
bool值, 指示是否选定此项
HyperLink 和 Image – 超链接 和 图像控件
(1) HyperLink 是一个可以用服务器代码动态生成链接目标的超链接, 用户点击后并不引发回传和服务器事件
属性
Text
文本
NavigateUrl
单击 HyperLink 控件时链接到的 URL
(2) Image 是一个可以用代码服务器代码控制的图片控件.
属性
ImageUrl
在 Image 控件中显示的图像的位置
AlternateText
当图像不可用时,Image 控件中显示的替换文本
FileUpLoad控件:
FileUpload 类显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器
属性
FileName
获取客户端上使用 FileUpload 控件上载的文件的名称
HasFile
Bool值属性, 该值指示 FileUpload 控件是否包含上传文件
方法
void SaveAs (string filename)
当RadioButton的Checked属性改变时在服务器端引发
Calendar控件:
日历控件, 显示单月的日期, 供用户选择.
属性
SelectedDate
获取或设置选定的日期
事件
SelectionChanged
用户在 Calendar 控件中选择一天、一周或一月时发生
DayRender
Calendar 控件在控件层次结构中创建每一天时发生
(控件绘制时, 每绘制一天时引发一次DayRender事件)
我们可以从事件参数e中获取当前绘制的日期的属性, 并控制日期单元格的绘制.
e.Cell - TableCell对象,表示当前正在绘制的日期单元格
( 例: 改变单元格背景色 e.Cell.BackColor = Color.Red )
e.Day – CalendarDay对象, 当前绘制的日期
( 例: 获取当前日期值 DateTime dt = e.Day.Date )
三. 验证控件
概述:
(1) 服务器端验证
网页中, 我们常常需要对用户的输入信息进行验证. 前面的登录页面中, 我们通过按钮的Click事件验证用户名和密码. 但这种验证方式效果并不好, 因为按钮的Click事件是在服务器端执行的, 也就是说必须要把用户数据传输到服务器上才能作出验证, 验证结果还得传输会客户端.
(2) 客户端验证
在传统的网页中, 我们希望用户的验证能够在客户端直接完成, 可以通过编写JavaScript脚本, 实现客户端验证. 这种做法也有缺陷, JavaScript编程比较复杂, 也不很安全, 因为用户是可以通过设置浏览器禁用JavaScript的.
(3) ASP.NET验证控件
在ASP.NET里, 提供了一系列的验证控件, 很好的把客户端验证和服务器端验证整合并且简化.
RequiredFieldValidator – 非空验证
属性
Display
错误信息的显示行为ValidatorDisplay枚举值, Static/None/ Dynamic
ControlToValidate
设置要验证的输入控件
Text
验证失败时验证控件中显示的文本
ErrorMessage
验证失败时 ValidationSummary 控件中显示的错误信息
CompareValidator – 比较验证
属性
Type
设置数据类型, ValidationDataType枚举
ValueToCompare
用于比较的值
ControlToCompare
用于比较的输入控件的 ID
Operator
使用的比较操符, ValidationCompareOperator枚举
Display / ControlToValidate / Text / ErrorMessage 属性同RequiredFieldValidator
注意: 若设置Type属性为特定数据类型, 并把Operator设置为DataTypeCheck值, “比较验证控件” 就可以充当 “数据类型验证控件”
RangeValidator – 有效范围验证
属性
Type
设置数据类型, ValidationDataType枚举
MinimumValue
验证的控件的值必须大于或等于此属性的值
MaximumValue
要验证的控件的值,该值必须小于或等于此属性的值
Display / ControlToValidate / Text / ErrorMessage 属性同RequiredFieldValidator
RegularExpressionValidator – 正则表达式验证
正则表达式就是用某种模式去匹配一类字符串的一个特殊公式. 正则表达式有一些特殊字符, 类似Dos中的通配符. 用于构建匹配公式.
如: 只能输入数字:^[0-9]*
属性
ValidationExpression
指定为验证条件的正则表达式
Display / ControlToValidate / Text / ErrorMessage 属性同RequiredFieldValidator
CustomValidator – 用户自定义验证 (客户端自定义+服务器端自定义)
有时验证比较特殊, 只能通过自己写代码来验证, CustomValidator提供了自定义验证方式.
该控件允许用户自定义客户端验证代码 (JavaScript代码) 和服务器端验证代码 (通过事件)
属性
ClientValidationFunction
用于客户端验证的自定义客户端脚本函数名称. 示例:
function ClientValidate(source, args){
if (args.Value.length == 18)
args.IsValid = true;
else
args.IsValid = false;
}
事件
ServerValidate
在此事件中注册了方法,则调用此方法,参数为 ControlToValidate 属性的值。验证仅当此事件处理程序返回 true 时才成功. 示例:
protected void MyServerValidate(object source, ServerValidateEventArgs args) {
if (args.Value.Length == 18) {
args.IsValid = true;
}
else {
args.IsValid = false;
}
}
Display / ControlToValidate / Text / ErrorMessage 属性同RequiredFieldValidator
ValidationSummary -显示窗体上所发生的所有验证错误的摘要
(即验证控件中的ErrorMessage属性的字符串值)
Page.IsValid 属性
获取一个bool值,该值指示页验证是否成功.
一旦客户端JavaScript脚本被禁用, 数据的安全性就剩下服务器端验证这个关卡了. 服务器端验证会在页面生成的前期执行. 我们通过IsValid属性就可以获知页面是否通过了所有的服务器断验证了.
ASP.NET控件和验证控件
最新推荐文章于 2022-06-26 19:42:24 发布