掌握ASP-NET常用的服务器控件PPT课件_第1页
掌握ASP-NET常用的服务器控件PPT课件_第2页
掌握ASP-NET常用的服务器控件PPT课件_第3页
掌握ASP-NET常用的服务器控件PPT课件_第4页
掌握ASP-NET常用的服务器控件PPT课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章服务器控件 目的 掌握ASP NET常用的服务器控件主要内容 ASP NET服务器控件的基本概念ASP NET中内部控件的使用方法ASP NET中验证控件的使用方法 4 2ASP NET服务器控件简介目录 4 2 1HTML服务器控件4 2 2Web服务器控件4 2 3验证控件4 2 4Web用户控件 4 2ASP NET服务器控件简介 创建Web窗体页时 可以使用以下控件类型 HTML服务器控件 对服务器公开的HTML元素 可对其进行编程 HTML服务器控件公开一个对象模型 该模型十分紧密地映射到相应控件所呈现的HTML元素 Web服务器控件 这些控件比HTML服务器控件具有更多内置功能 Web服务器控件不只包括窗体类型的控件 例如按钮和文本框 而且还包括特殊用途的控件 例如日历 验证控件 验证控件可用于检查必填字段 匹配字符的特定值或模式 验证某个值是否在限定范围之内以及其他目的 用户控件 作为Web窗体页创建的控件 4 2 1HTML服务器控件 默认情况下 ASP NET只是将HTML元素视为一般的文本 无法以程序的方式使用Web窗体页上的HTML元素 但是 通过将HTML元素转换为HTML服务器控件 可将其公开为可在ASP NET服务器上编程的元素 元素都可以转换web页上的任意HTML HTML服务器控件 转换是一个只涉及几个属性的简单过程 作为最低要求 通过添加RUNAT SERVER 属性 HTML元素即可转换为控件 例如 文本框的HTML元素为 INPUTTYPE TEXT ID NAME1 MAXLENGTH 16 INPUTTYPE TEXT ID NAME1 MAXLENGTH 16RUNAT SERVER 4 2 2Web服务器控件 WEB服务器控件出现的理由方便不熟悉HTML语言的开发者比HTML服务器控件功能更强 格式 4 2 3验证控件 出现的理由 对于WEB应用程序的操作必须进行限制验证控件可以使WEB窗体页验证功能更加容易实现 4 2 4Web用户控件 出现理由A的服务器虽然很多 但还是有限的为了提高灵活性和易用性注意点 为了确保用户控件不能作为独立Web窗体页来运行 用户控件用文件扩展名 ascx来进行标识 4 3ASP NET的Web页面 在MicrosoftStudio NET架构中 Web程序是通过WebForm来体现出来的 而在WebForm中所有的控件都被看成是对象 每个对象都有自己的属性 方法和事件 甚至数据类型都成了对象 每种数据类型都有自己特有的属性和方法 WEBFORM的后缀名是ASPX 当一个浏览器第一次请求一个ASPX文件时 WEBFORM页面将被CLR CommonLanguageRuntime 编译器编译 此后 当再有用户访问此页面的时候 由于ASPX页面已经被编译过 所以 CLR会直接执行编译过的代码 这样对于用户来说感觉到WEB页面很快能够显示出来 ASP NET支持可编译的语言 包括VB NET C Jscript NET等 并且是一次编译多次执行 一般来说 下面两种情况下 ASPX会被重新编译 ASPX页面第一次被浏览器请求 ASPX被改写 4 3 2ASP NET页面处理过程 1 Web窗体页处理 和所有的服务器端进程一样 当ASPX页面被客户端请求时 页面的服务器端代码被执行 执行结果被送回到浏览器端 1 页面的往返处理 需要理解的最重要概念之一就是Web窗体页中工作的划分 浏览器向用户展示一个窗体 用户与该窗体进行交互 这导致该窗体回发到服务器 但是 因为与服务器组件进行交互的所有处理必须在服务器上发生 这意味着对于要求处理的每一操作而言 必须将该窗体发送到服务器 进行处理 然后返回到浏览器 这一事件序列称作 往返处理 在Web窗体中 大多数用户操作 例如单击一个按钮 将导致往返行程 因此 ASP NET服务器控件中的可用事件通常仅限于Click类型的事件 大多数服务器控件公开一个Click事件 该事件要求显式的用户操作 通过相同的标记 服务器控件不公开诸如OnMouseOver之类的高频率事件 因为每次引发此类事件时 将发生到服务器的另一个往返处理 这将显著影响窗体中的响应时间 2 重新创建页 视图状态和状态管理 在任何Web方案中 每一次往返行程都需要重新创建页 只要服务器处理完毕并完成将页发送到客户端浏览器 服务器就放弃该页的信息 在传统的Web应用程序中 服务器所具有的有关一个窗体的唯一信息就是用户已添加到窗体的控件上的信息 因为当发送窗体时将这些信息发送给服务器 其他信息 例如变量值和属性设置 将被放弃 这样的页面重建显然是很花时间的 ASP NET通过以下方法克服了这些限制 在往返处理间保存页和控件属性 这称作保存控件的视图状态 提供状态管理功能 以便用户可以在往返处理间保存您自己的变量和特定于应用程序或特定于会话的信息 可以检测是第一次请求窗体还是发送窗体 这使用户可以相应地进行编程 3 事件驱动模型与线性处理模型 线性处理模型的缺点 要从上到下重建整页 所以速度慢 ASP NET通过模拟事件驱动模型的行为代替了传统的Web应用程序的线性处理模型 提供ASP NET页框架以隐式地为用户建立事件和事件处理程序的关联 利用该页框架 用户可以很容易地创建响应用户操作的用户界面 4 Web窗体处理中的各个阶段 表43 1Web窗体处理中的各个阶段 2 Page Load事件 当ASP NET页被打开或重建时 会引发Page Load事件 Page Load事件主要用于用户代码初始化 读取和还原以前存储的值 并能使用Page IsPostBack属性 如果是为响应客户端回发而加载该页 则为True 否则为False 即如果是第一次访问该页 则Page IsPostBack属性为False 否则为True 检查是否是第一次处理该页 如果是第一次处理该页 则可执行初始数据绑定 否则 还原控件值 读取和更新控件属性 事件的定义方式 PrivateSubPage Load ByValsenderAsSystem Object ByValeAsSystem EventArgs lbdisp Text 改变文字 请单击按钮 EndSub 说明 在Page Load事件的定义中 定义了两个参数 按照约定 在微软 NET框架中的事件委托有两个参数 引发事件的源 参数sender 和该事件的数据 参数e 事件数据类从System EventArgs导出 如果事件不生成数据 则它使用EventArgs 包含事件数据类的基类 作为事件数据类型 例 w4 2 aspx 在Page Load事件中加入如下代码 其中的lbdisp是一个Label类的控件 IfNotPage IsPostBackThenlbdisp Text ASP NET页面第一次打开所显示的文字 Elselbdisp Text 今后所显示的文字 EndIf 结果 图43 3Page IsPostBack属性应用示例 1 图43 4Page IsPostBack属性应用示例 2 4 4Web服务器控件 4 4 1标签控件Label4 4 2按钮控件Button4 4 3文本输入框控件TextBox4 4 4HyperLink控件4 4 5复选框控件CheckBox4 4 6复选框列表控件CheckBoxList4 4 7单选按钮控件RadioButton 4 4 8单选列表控件RadioButtonList4 4 9下拉列表框控DropDownList4 4 10面板控件Panel4 4 11表格控件Table 表格行控件TableRow 表格单元控件TableCell 4 4Web服务器控件 4 4 1标签控件Label 标签控件Label是最简单的控件 它的主要作用是用来在Web页面上显示文字 用户不能直接对这些文本进行编辑 其使用语法为 1 AccessKey属性这个属性可以用来指定键盘的快速键 可以指定这个属性的内容为数字或是英文字母 当使用者按下键盘上的Alt再加上所指定的值时 表示选择该控件 例如下列范例指定Web控件Button的AccessKey属性为B 当用户按下Alt B时即表示按下了按钮 源代码如下 其运行显示结果如图44 1所示 一些公共属性 上述程序无论是直接按了按钮或是按下Alt B 都会触发btsubmit Click这个事件程序 2 Backcolor属性 使用BackColor属性指定Web服务器控件的背景色 其属性的设定值为颜色名称或是 RRGGBB的格式 下列程序代码设定了LabelWeb控件的背景色为黄色Backcolor属性测试 3 Enabled属性 Enabled属性返回或设置一个值 该值确定窗体或控件是否可以响应用户生成的事件 图44 3Enabled属性的效果测试 下列范例为Enabled属性的效果测试其源代码如下 显示结果如图44 3所示 见实例w4 5 aspxFont属性 见w4 6 aspx ToolTip属性 见w4 7 aspx 4 4 2按钮控件Button 按钮控件的使用虽然很简单 但是按钮控件却是最常用的服务器控件之一 当用户单击该按钮 会产生OnClick事件 其使用语法为 另外 按钮控件还有OnMouseOver事件和OnMouseOut事件 其中 OnMouseOver事件当用户的光标进入按钮范围触发的事件 OnMouseOut事件 当用户光标脱离按钮范围触发的事件 附加说明 OnClick事件在单击时激发 OnCommand事件与前者类似 只是可以回传CommandName与CommandArgument属性值见 在HTML中有三个元素用来让用户输入信息 分别是 允许用户在一行输入信息 允许用户输入密码信息 在输入过程中以 来显示 允许用户在多行上输入信息 在ASP NET的Web服务器控件中用一个文本输入框控件TextBox来代替这三种HTML元素 其使用语法如下 ASP TextBoxId 被程序代码所控制的名称 Runat Server AutoPostBack True False Columns 字符数目 4 4 3文本输入框控件TextBox MaxLength 字符数目 Rows 列数 Text 字符串 TextMode SingleLine Multuline Password Wrap True False OnTextChanged 事件程序名称 具体实例见w4 9 aspx和w4 10 aspx 单行文本框 多行文本框 密码框 4 4 4HyperLink控件 使用HyperLink控件创建到其他Web页的链接 HyperLink控件通常显示为Text属性指定的文本 它也可以显示为ImageUrl属性指定的图像 说明 如果同时设置了Text和ImageUrl属性 则ImageUrl属性优先 如果图像不可用 则显示Text属性中的文本 在支持工具提示功能的浏览器中 Text属性也变成工具提示 HyperLink控件可显示可单击的文本或图像 与大多数Web服务器控件不同 当用户单击HyperLink控件时并不会在服务器代码中引发事件 此控件只执行导航 其使用语法为 基本语法格式 ASP Hyperlink Id 控件Id Runat Server Text 超级链接文字或提示文字 ImageUrl 图片所在地址 Target 超级链接所要显示的窗口 NavigateUrl 所要打开的Web页的路径 4 4 5复选框控件CheckBox 在日常信息输入中 经常会遇到这样的情况 输入的信息是固定的 例如兴趣爱好之类的 如果采用文本输入的话 一个是输入繁琐 另一个是无法对输入信息的有效性进行控制 这时如果采用复选控件 CheckBox 就会大大减轻数据输入人员的负担 同时输入数据的规范性得到了保证 其使用语法如下所示 具体实例见w4 12 aspx 4 4 6复选框列表控件CheckBoxList 如果要使用一组CheckBoxWeb控件时 在程序的判断上非常麻烦 因此复选框列表控件CheckBoxListWeb控件是用来代替多个CheckBoxWeb控件 这样可简化程序设计的复杂度 这个控件非常适合绑定数据库的数据 其使用语法如下 DataTextField 数据源的字段 DataValueField 数据源的字段 RepeatColumns 字段数量 RepeatDirection Vertical Horizontal RepeatLayout Flow Table TextAlign Right Left OnSelectedIndexChanged 事件程序名称 其中ASP ListItem还可表示为 显示文字 CheckBoxList控件的常用属性说明见P122 SubButton1 Click senderAsObject eAsEventArgs DimsAsString 选定项 DimiAsInt32Fori 0toCheck1 Items Count 1IfCheck1 Items i SelectedThen 列出选定的项s s Check1 Items i Texts s EndIfNextLabel1 Text sEndSubSubchkLayout CheckedChanged senderAsObject eAsEventArgs IfchkLayout Checked trueThenCheck1 RepeatLayout RepeatLayout Table 按下提交按钮时激发此事件 CheckBoxList控件的选项数目 若选中项目 chkLayout控件的OnCheckedIndexChanged事件发的代码段 显示表布局 ElseCheck1 RepeatLayout RepeatLayout FlowEndIfEndSubSubchkDirection CheckedChanged senderAsObject eAsEventArgs IfchkDirection Checked trueThenCheck1 RepeatDirection RepeatDirection HorizontalElseCheck1 RepeatDirection RepeatDirection VerticalEndIfEndSub 显示流布局 改变Check1中各选项的排列方向 CheckBoxList示例项1项2项3项4项5项6 Check1控件的选项 选中状态改变时激发的事件 4 4 7单选按钮控件RadioButton 使用单选控件的情况跟使用复选控件的条件差不多 区别的地方在于 单选控件的选择只能从中选择一种结果 单选控件主要的属性跟复选控件也类似 也依靠Checked属性来判断是否选中 但是与多个复选控件之间互不相关不同 多个单选控件之间存在着联系 要么是同一选择中的条件 要么不是 所以单选控件多了一个GroupName属性 它用来指明多个单选控件是否是同一条件下的选择项 GroupName相同的多个单选控件之间只能有一个被选中 其使用语法如下 其属性和事件的使用方法与复选框控件的使用方法相同 在此就不就更多的说明 下面来看一个单选按钮控件的使用示例 其源代码如下所示 具体实例见W4 14 aspx 4 4 8单选列表控件RadioButtonList 由于每一个单选按钮控件是独立的控件 若要判断同一个群组内的RadioButton是否被选择 则必须判断所有的RadioButton控件的Checked属性 这样判断效率是非常低的 特别是当有多个这样独立单选按钮控件的时候 这样就引出了单选列表控件RadioButtonList 其使用语法如下 DataTextField 数据源的字段 DataValueField 数据源的字段 RepeatColumns 字段数量 RepeatDirection Vertical Horizontal RepeatLayout Flow Table TextAlign Right Left OnSelectedIndexChanged 事件程序名称 下面把RadioButton控件的事例用RadioButtonList控件直接改写 其源代码如下 见实例w4 15 aspx SubButton1 Click SenderAsObject eAsEventargs Label1 Text 您的最高学历是 rblA SelectedItem Text 学位 您是一名 rblA SelectedItem ValueEndSub 代码变简单了 此属性代表已选择的项目 RadioButtonList示例请选择您的最高学历 4 4 9下拉列表框控DropDownList DropDownList控件是一个下拉式的选单 功能和RadioButtonList控件很类似 提供用户在一群选项中选择单一的值 不过RadioButtonList控件适合使用在较少量的选项群组项目 而DropDownList控件则适合用来管理大量的选项群组项目 其使用语法如下 ASP DropDownListId 被程序代码所控制的名称 Runat Server AutoPostBack True False DataSource DataTextField 数据源的字段 DataValueField 数据源的字段 OnSelectedIndexChanged 事件程序名称 具体实例见w4 16 aspx和w4 17 aspx 4 4 10面板控件Panel Panel控件是一种容器类控件 即该控件中可以包含别的控件 一般来说 该控件用来动态地建立控件或者用来显示或隐藏在Panel控件中的控件 其使用方法如下 其它控件 背景图 水平排列方式 在传统的Web程序设计中 在进行用户信息录入的时候 通常需要三个Web网页 首先进行用户身份识别 当身份识别通过之后 填写相关的内容 最后 再显示用户所填写的内容 填写的流程如下 用户身份验证 填写内容 显示填写内容 这样需要三个Web网页 这样会显得很麻烦 可以使用Panel控件 在一个页面中即可实现上述的功能 即在一个Web网页上添加三个Panel控件 每个Panel控件实现相应传统Web网页的功能 下面来看一个例子 读者来体会一下其实现方法 其源代码如下 具体实例见w4 18 aspx 4 4 11表格控件Table 表格行控件TableRow 表格单元控件TableCell Table控件允许在Web窗体页上创建可在服务器端编程的表格 TableRow和TableCell控件为显示Table控件的实际内容提供了一种方式 其中 TableRow控件是用来声明表格行的 TableCell控件是用来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论