ASP.NET 2.0程序设计-陈语林-电子教案 ch07

上传人:E**** 文档编号:89384504 上传时间:2019-05-24 格式:PPT 页数:36 大小:397.50KB
返回 下载 相关 举报
ASP.NET 2.0程序设计-陈语林-电子教案 ch07_第1页
第1页 / 共36页
ASP.NET 2.0程序设计-陈语林-电子教案 ch07_第2页
第2页 / 共36页
ASP.NET 2.0程序设计-陈语林-电子教案 ch07_第3页
第3页 / 共36页
ASP.NET 2.0程序设计-陈语林-电子教案 ch07_第4页
第4页 / 共36页
ASP.NET 2.0程序设计-陈语林-电子教案 ch07_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《ASP.NET 2.0程序设计-陈语林-电子教案 ch07》由会员分享,可在线阅读,更多相关《ASP.NET 2.0程序设计-陈语林-电子教案 ch07(36页珍藏版)》请在金锄头文库上搜索。

1、第7章 ASP.NET服务器控件和客户端脚本 本章将介绍如何在ASP.NET页面中使用一种特定类型的对象,即服务器控件,以及如何充分利用这个控件。并讨论一种特殊类型的服务器控件:HTML服务器控件。本章将会描述如何在ASP.NET页面中使用JavaScript改变服务器控件的操作。,7.1 ASP.NET服务器控件 传统ASP的一个难点是,必须根据所编写的服务器端代码对浏览器输出的所有HTML结果负全责。这看起来很理想,但有一个问题,因为每个浏览器都以略微不同的方式解释提供给它的HTML。 目前两个主流浏览器是Microsoft的Internet Explorer和Netscape Navig

2、ator。这意味着,开发人员不仅要确定输出HTML的浏览器类型,还要考虑对应用程序发出请求的浏览器版本。,在使用ASP.NET提供的服务器控件时,不在服务器端代码中指定要输出的HTML,而指定要在浏览器上看到的内容,让ASP.NET决定发送到浏览器上的输出。 在收到一个请求时,ASP.NET会检查这个请求,确定发出该请求的浏览器类型,以及浏览器的版本,然后输出适合于该浏览器的HTML输出。这个过程通过用户代理从HTTP请求的标题中确定要发送给浏览器的内容来完成。,7.1.1 服务器控件的类型 ASP.NET提供了两种不同类型的服务器控件:HTML服务器控件和Web服务器控件。 HTML服务器控

3、件会映射为特定的HTML元素。可以在ASP.NET页面上放置一个HtmlTable服务器控件,动态地处理元素。另一方面,Web服务器控件映射为ASP.NET页面上需要的特定功能。所以,控件可以使用 或元素,这取决于发出请求的浏览器的功能。,7.1.2 用服务器控件建立页面 1. 在设计界面上使用服务器控件 Visual Studio 2005允许可视化地把控件拖放到设计界面上,可视化地创建ASP.NET页面。要获得这个可视化的设计选项,可以在查看ASP.NET页面时,单击IDE底部的Design选项卡。在这个视图中,还可以把光标放在希望控件出现的地方,再在Visual Studio的Toolb

4、ox窗口中双击需要的控件。,2. 编写服务器控件 在Visual Studio 2005中编写应用程序时会得到许多帮助。开始在Visual Studio中输入代码时,IntelliSense功能会帮助我们自动完成代码的输入。,与Design视图一样,页面的Source视图也允许把控件从Toolbox拖放到代码页面上。例如,把一个TextBox控件拖放到代码页面上,与把它拖放到设计界面上的效果相同: 也可以在Source视图中突出显示一个控件,或把光标放在该控件的代码语句上,Properties窗口就会显示该控件的属性。现在就可以直接应用Visual Studio的Properties窗口中的属

5、性了,这些属性会动态添加到控件的代码中。,7.1.3 处理服务器控件的事件 ASP.NET使用传统的Visual Basic事件模型比传统的ASP更多。 ASP.NET编程模型中的常见事件是Page_Load VB代码 Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs) Code actions here End Sub C#代码 protected void Page_Load(object sender,EventArgs e) / Code actions here ,窗体上按钮的一个常见

6、事件是Button_Click的程序清单: VB Protected Sub Button1_Click(ByVal sender As Object,ByVal e As System.EventArgs) Code actions here End Sub C# protected void Button1_Click(object sender,EventArgs e) / Code actions here ,如何触发服务器控件的这些事件?有两种方式。第一种方式是在Design视图中打开ASP.NET页面,双击要创建服务器端事件的控件。 第二种方式是在Visual Studio的Pro

7、perties窗口中为服务器控件创建服务器端的事件。这种方式只能用于页面的Design视图。 有了事件的结构后,就可以编写触发事件时希望发生的特定操作了。,7.2 给服务器控件应用样式 7.2.1 控件的常见属性 ASP.NET 2.0附带的许多默认服务器控件都派生于WebControl类,拥有公共属性,可以改变它们的外观和行为。并不是所有的派生控件都可以使用所有的可用属性(尽管许多控件都拥有这些属性)。另一个要点是并不是所有的服务器控件都是在WebControl类中实现的。 HTML服务器控件也没有派生于WebControl基类,因为它们主要用于设置HTML元素的属性。,7.2.2 使用层叠

8、样式表改变样式 改变ASP.NET页面上特定元素的外观和操作方式的一种方法是对元素应用样式。对页面元素应用已定义好的外观和操作方式的最常见方法是直接使用各种改变样式的HTML元素,例如、和。 使用各种HTML元素可以改变页面上许多项的外观。,除了把HTML元素应用于项,以改变它们的样式之外,还可以使用另一种方法,称为层叠样式表(CSS)。这种改变样式的方法比较好,可以用两种不同的方法,把格式化属性应用于整个文档的HTML标记上。一种方法是使用内置样式,把这些样式直接应用于页面的HTML元素。另一种方法是把这些样式放在一个外部的样式表中,该样式表可以直接放在ASP.NET页面上,也可以保存在一个

9、独立的文档中,该文档在ASP.NET页面上引用。,1. 把样式直接应用于HTML元素 使用CSS的第一种方法是直接把样式应用于ASP.NET页面包含的标记上。 2. 使用Visual Studio样式构建器 Visual Studio 2005提供了样式构建器,这个工具使CSS样式的建立非常简单。,3. 创建外部样式表 可以使用两种不同的方法创建样式表。最常见的方法是创建一个外部样式表,即一个在页面中引用的独立样式表文件,以使用定义好的样式。为了开始外部样式表的创建,先在项目中添加一个新项。从Add New Item对话框中创建一个样式表StyleSheet.css,按下Add按钮,把该文件添

10、加到项目中。,使用Visual Studio的CSS下拉列表框(在图7-6的左面板),可以用如下3种方法应用样式规则: 按照元素来应用:把样式应用于特定的HTML元素,例如、或。 按照类来应用:把样式定义打为一个包,或者称为类。然后把所选的类应用于特定的页面元素或整个页面。 按照元素ID来应用:这个方法表示,所选的样式只应用于有特定ID名称的控件,例如Table1 或Button1。,4. 创建内部样式表 把样式表应用于某个ASP.NET页面的第二种方法是通过创建内部样式表,将定义好的样式表引入实际的文档。这不是引用外部样式表文件,而是把样式定义引入文档。但要这样,最好使用外部样式表,而不是内

11、部样式表。 只有把某些样式应用于应用程序中的少量页面时,才考虑使用内部样式表。,7.3 HTML服务器控件 ASP.NET允许提取HTML元素,通过少量的工作,把它们转换为服务器端控件。之后,就可以使用它们控制在ASP.NET页面中实现的元素的行为和操作了。 当然,可以把需要的任意HTML放在页面上。可以把页面上的HTML用作服务器端控件。在Visual Studio的Toolbox中包含了一个HTML元素列表.,在Document窗口中,把这些HTML元素中的任何一个从Toolbox拖放到ASP.NET页面的Design或Source视图上,就可以生成相应的HTML元素。 Button控件不

12、是一个服务器端控件,而只是一个HTML元素。可以用两种不同的方式把它转换为HTML服务器控件。在Design视图中,右击该元素,从菜单中选择Run As Server Control。这会导致几个操作的发生。,在Source视图中,只需添加runat=“server“,就把HTML元素转换为控件: 转换为服务器控件之后,就可以像处理任何Web服务器控件那样处理所选的元素了。 Button控件使用OnServerClick属性包含一个对服务器端事件的引用。这个属性指向的服务器端事件在终端用户单击按钮时触发,在这里是Button1_ServerClick事件。在Button1 _ServerCli

13、ck事件中,使用Value属性输出文本框中的值。,7.3.1 HtmlControl基类 所有的HTML服务器控件都使用一个派生于HtmlControl基类(完整名称是System.Web.UI. HtmlControls)的类。这个类从控件的派生类中继承了许多属性。 7.3.2 HtmlContainerControl类 基类HtmlContainerControl用于一些HTML类,这些类注重于可以包含在单个节点中的HTML元素。例如,、和元素用于派生于HtmlControl类的类。,其他HTML元素,例如、和,需要一对开闭标记。这些元素使用派生于HtmlContainerControl类

14、的类,HtmlContainerControl类是专门为处理需要闭标记的HTML元素而设计的。 HtmlContainerControl类派生于HtmlControl类,所以拥有HtmlControl类的所有属性和方法,还拥有一些在HtmlContainerControl类中声明的新属性。其中最重要的是InnerText和InnerHtml属性。,7.3.3 所有的HTML类 HtmlAnchor控制元素。 HtmlButton控制元素。 HtmlForm控制元素。 HtmlHead控制元素,这是.NET Framework 2.0的一个新类。 HtmlImage控制元素。 HtmlInput

15、Button控制元素。, HtmlInputCheckBox控制 元素。 HtmlInputFile控制元素。 HtmlInputHidden控制元素。 HtmlInputImage控制元素。 HtmlInputPassword控制元素,这是.NET Framework 2.0的一个新类。 HtmlInputRadioButton控制 元素。 HtmlInputReset 控制元素,这是.NET Framework 2.0的一个新类。, HtmlInputSubmit控制元素,这是.NET Framework 2.0的一个新类。 HtmlInputText 控制元素。 HtmlLink 控制元

16、素,这是.NET Framework 2.0的一个新类。 HtmlSelect 控制元素。 HtmlTable 控制元素。 HtmlTableCell控制元素。 HtmlTableRow控制元素。 HtmlTextArea控制元素。,7.3.4 使用HtmlGenericControl类 应注意到HtmlGenericControl类的重要性:它的一些功能不能从ASP.NET提供的其他服务器控件处获得。例如,使用HtmlGenericControl类可以对、或其他元素进行服务器端的访问,但使用其他类不能进行这样的访问。 使用HtmlGenericControl类和其他HTML类,可以在服务器端代码中操纵ASP.NET页面上的所有元素。,7.4 通过JavaScript处理页面和服务器控件 开发人员一般喜欢在ASP.NET页面上包含一些自己定制的JavaScrip

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号