掌握ASP NET常用的服务器控件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

结果:
图43-3 Page.IsPostBack属性应用示例(1)
图43-4 Page.IsPostBack属性应用示例(2)
4.4 Web服务器控件
• • • • • • • 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 标签控件Label 按钮控件Button 文本输入框控件TextBox HyperLink控件 复选框控件CheckBox 复选框列表控件CheckBoxList 单选按钮控件RadioButton
上述程序无论是直接按了按钮或是按下 Alt+B , 都会触发btsubmit_Click 这个事件程序。 2. Backcolor属性. 使用BackColor属性指定Web服务器控件的背景色。 其属性的设定值为颜色名称或是 #RRGGBB 的格 式。下列程序代码设定了 Label Web 控件的背 景色为黄色 <asp:Label id="lbdisp" runat="server" backcolor=yellow> Backcolor 属 性 测 试 </asp:Label>.
第4章 服务器控件
目的:掌握ASP.NET常用的服务器控件 主要内容: ASP.NET服务器控件的基本概念 ASP.NET中内部控件的使用方法 ASP.NET中验证控件的使用方法
4.2 ASP.NET 服务器控件简介目录
• • • • 4.2.1 HTML服务器控件 4.2.2 Web服务器控件 4.2.3 验证控件 4.2.4 Web用户控件
4.2 ASP.NET 服务器控件简介
创建Web窗体页时,可以使用以下控件类型: • HTML服务器控件:对服务器公开的HTML元素, 可对其进行编程。 HTML 服务器控件公开一个对象模 型,该模型十分紧密地映射到相应控件所呈现的 HTML元素。

Web服务器控件:这些控件比HTML服务器控件具 有更多内置功能。 Web 服务器控件不只包括窗体类型 的控件,例如按钮和文本框;而且还包括特殊用途的 控件,例如日历。 • 验证控件:验证控件可用于检查必填字段,匹配 字符的特定值或模式,验证某个值是否在限定范围之 内以及其他目的。 • 用户控件:作为Web窗体页创建的控件。
表43-1 Web 窗体处理中的各个阶段
阶段 ASP.NET 页 框架初始化 用户代码初 始化 意义 引发该页的Page_Init事件 ,并还原该页和控件视图 状态。 引发页的Page_Load事件。 典型使用 在此事件期间,ASP.NET 页框架还原控件属性和回发数据。
读取和还原以前存储的值: 使用 Page.IsPostBack 属性,检查是否是第一次处理该页。 如果是第一次处理该页,则执行初始数据绑定。
事件处理
执行特定于应用程序的处理: 处理所引发的特定事件。
清除
执行最后的清除工作: 关闭文件。
关闭数据库连接。
放弃对象。
2. Page_Load事件. 当 ASP.NET 页被打开或重建时,会引发 Page_Load 事件。 Page_Load事件主要用于用户代码初始化、读取和还原 以前存储的值,并能使用Page.IsPostBack属性(如果 是为响应客户端回发而加载该页,则为 True ;否则为 False , 即 如 果 是 第 一 次 访 问 该 页 , 则 Page.IsPostBack 属性为 False ,否则为 True ),检查 是否是第一次处理该页。如果是第一次处理该页,则 可执行初始数据绑定;否则,还原控件值,读取和更 新控件属性。 事件的定义方式
4.2.4
Web用户控件
• 出现理由 –Asp.net的服务器虽然很多,但还是有限的 –为了提高灵活性和易用性 • 注意点:
– 为了确保用户控件不能作为独立Web窗体页来运行,用户控件 用文件扩展名 .ascx 来进行标识。
4.3 ASP.NET的Web页面
• 在Microsoft Studio.NET架构中,Web程序是通过Web Form来体现 出来的。而在Web Form中所有的控件都被看成是对象,每个对象 都有自己的属性、方法和事件,甚至数据类型都成了对象,每种 数据类型都有自己特有的属性和方法。 • WEB FORM的后缀名是ASPX。当一个浏览器第一次请求一个ASPX文 件时,WEB FORM 页面将被CLR (Common Language Runtime)编译 器编译。此后,当再有用户访问此页面的时候,由于ASPX页面已 经被编译过,所以,CLR会直接执行编译过的代码,这样对于用户 来说感觉到WEB页面很快能够显示出来。 • ASP.NET 支持可编译的语言,包括VB.NET 、C# 、Jscript.NET 等, 并且asp.net是一次编译多次执行。
验证
调用任何验证程序Web服 务器控件的 Validate 方法来 执行该控件的指定验证。 如果已调用该页来响应窗 体事件,则在此阶段期间 调用该页中的相应事件处 理程序。 调用 Page_Unload 事件, 因为该页已完成呈现并准 备好被放弃。
(此阶段没有用户处理事件。可以在事件处理程序中测试验证的 结果。)
例: w4-2.aspx (在 Page_Load 事件中加入如下代码,其 中的lbdisp是一个Label类的控件) If Not Page.IsPostBack Then
lbdisp.Text = "ASP.NET 页面第一次打开所显 示的文字" Else lbdisp.Text = "今后所显示的文字" End If
4. 4 . 2
按wenku.baidu.com控件Button
按钮控件的使用虽然很简单,但是按钮控件却是最常 用的服务器控件之一。当用户单击该按钮,会产生 OnClick事件。其使用语法为:
3. Enabled 属性. Enabled属性返回或设置一个值,该值确定窗体或控件是否可以响应 用户生成的事件。
图44-3 Enabled属性的效果测试
下列范例为Enabled属性的效果测试其源代码如下(显示 结果如图44-3所示):,见实例w4-5.aspx
5. Font属性(见w4-6.aspx) 6. ToolTip属性(见w4-7.aspx)
标签控件Label是最简单的控件,它的主要作用 是用来在 Web 页面上显示文字,用户不能直接 对这些文本进行编辑。其使用语法为: <ASP:Label. id="控件的惟一标识." Runat="Server" Text="所要显示的文字" />.
一些公共属性
1. AccessKey属性 这个属性可以用来指定键盘的快速键。可以指定这个属 性的内容为数字或是英文字母,当使用者按下键盘上 的Alt再加上所指定的值时,表示选择该控件。例如下 列范例指定 Web 控件 Button 的 AccessKey 属性为 B , 当用户按下Alt+B时即表示按下了按钮。源代码如下: (其运行显示结果如图44-1所示) <asp:Label id="lbdisp" runat="server" Width="167px"></asp:Label>. <ASP:Button Id="Button1" Text=" 显示开 关" Runat="Server" AccessKey="B" OnClick="btsubmit_Click"/>
• • • •
4.4.8 单选列表控件RadioButtonList 4.4.9 下拉列表框控DropDownList 4.4.10 面板控件Panel 4.4.11 表格控件Table、表格行控件 TableRow、表格单元控件TableCell
上级目录
4.4 Web服务器控件
4.4.1标签控件Label.
在Web窗体中,大多数用户操作(例如单击一个按钮)将 导致往返行程。因此, ASP.NET 服务器控件中的可用 事件通常仅限于 Click类型的事件。大多数服务器控件 公开一个Click事件,该事件要求显式的用户操作。 通过相同的标记,服务器控件不公开诸如 OnMouseOver 之类的高频率事件,因为每次引发此类 事件时,将发生到服务器的另一个往返处理,这将显 著影响窗体中的响应时间。
• 一般来说,下面两种情况下,ASPX会被重新编译: ASPX页面第一次被浏览器请求; ASPX被改写.
4.3.2
ASP.NET页面处理过程
1. Web窗体页处理. 和所有的服务器端进程一样,当ASPX页面被客户 端请求时,页面的服务器端代码被执行,执行 结果被送回到浏览器端。
(1)页面的往返处理. 需要理解的最重要概念之一就是 Web窗体页 中工作的划分。浏览器向用户展示一个窗体, 用户与该窗体进行交互,这导致该窗体回发到 服务器。但是,因为与服务器组件进行交互的 所有处理必须在服务器上发生,这意味着对于 要求处理的每一操作而言,必须将该窗体发送 到服务器、进行处理、然后返回到浏览器。这 一事件序列称作“往返处理”。
4.2.2
Web服务器控件
• WEB服务器控件出现的理由
方便不熟悉HTML语言的开发者 比HTML服务器控件功能更强
•格式 <asp:button 属性
runat="server"/>.
4.2.3
验证控件
• 出现的理由: –对于WEB应用程序的操作必须进行限制 –验证控件可以使WEB窗体页验证功能更加容易实现
(2)重新创建页(视图状态和状态管理). 在任何Web方案中,每一次往返行程都需要重新创建页。 只要服务器处理完毕并完成将页发送到客户端浏览器, 服务器就放弃该页的信息。 在传统的Web应用程序中,服务器所具有的有关一个窗体 的唯一信息就是用户已添加到窗体的控件上的信息, 因为当发送窗体时将这些信息发送给服务器。其他信 息(例如变量值和属性设置)将被放弃。这样的页面 重建显然是很花时间的。 ASP.NET 通过以下方法克服了这些限制: 在往返处理间保存页和控件属性。这称作保存控 件的视图状态。

提供状态管理功能,以便用户可以在往返处理间 保存您自己的变量和特定于应用程序或特定于会话的 信息。 可以检测是第一次请求窗体还是发送窗体,这使 用户可以相应地进行编程。 (3)事件驱动模型与线性处理模型. 线性处理模型的缺点:
要从上到下重建整页,所以速度慢
ASP.NET 通过模拟事件驱动模型的行为代替了传统 的 Web 应用程序的线性处理模型。提供 ASP.NET 页框 架以隐式地为用户建立事件和事件处理程序的关联。 利用该页框架,用户可以很容易地创建响应用户操作 的用户界面。 (4)Web 窗体处理中的各个阶段.
4.2.1 HTML服务器控件
• 默认情况下,ASP.NET只是将HTML元素视为一般的文本, 无法以程序的方式使用Web窗体页上的HTML元素。但是, 通过将 HTML 元素转换为 HTML 服务器控件,可将其公开 为可在ASP.NET服务器上编程的元素。 • 元素都可以转换 web 页上的任意 HTML,HTML 服务器控件。 转换是一个只涉及几个属性的简单过程。作为最低要 求,通过添加RUNAT="SERVER"属性,HTML 元素即可转 换为控件。例如:文本框的HTML元素为. • < INPUT TYPE="TEXT" ID="NAME1" MAXLENGTH=16>. • < INPUT TYPE="TEXT" ID="NAME1" MAXLENGTH=16 RUNAT="SERVER">.
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) lbdisp.Text = "改变文字,请单击按钮." End Sub. 说明:在Page_Load事件的定义中,定义了两个参数。按 照约定,在微软 .NET 框架中的事件委托有两个参数: 引发事件的源(参数 sender )和该事件的数据(参数 e)。事件数据类从System.EventArgs导出。如果事件 不生成数据,则它使用EventArgs(包含事件数据类的 基类)作为事件数据类型。
相关文档
最新文档