ASP.NET控件和验证控件

  • 服务器端控件标签都以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

    边框样式(实线,虚线)

    MSDNSystem.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坐标   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属性就可以获知页面是否通过了所有的服务器断验证了.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值