第8章Web服务器控件
- 格式:doc
- 大小:142.00 KB
- 文档页数:16
第7章 Web服务器控件7.1 服务器控件简介7.2 基本Web服务器控件7.2.1 Label控件7.2.2 Button控件7.2.3 LinkButton控件7.2.4 ImageButton控件7.2.5 TextBox控件7.2.6 DropDownList控件7.2.7 ListBox控件7.2.8 CheckBox控件和CheckBoxList控件7.2.9 RadioButton控件和RadioButtonList控件7.2.10 Panel 控件7.3 数据验证控件7.3.1 数据验证机制介绍7.3.2 RequiredFieldValidator控件7.3.3 CompareValidator控件7.3.4 RangeValidator 控件7.3.5 RegularExpressionValidator控件7.3.6 CustomValidator 控件7.3.7 ValidationSummary控件第7章 Web服务器控件7.1 服务器控件简介创建 Web 窗体页时,可以使用以下控件类型:⏹HTML 服务器控件HTML 服务器控件以HTML标记为基础而衍生出来的服务器控件,HTML 服务器控件比HTML标记多了两个属性,一个是“ runat="server" ”,一个是“ id="控件名称" ”。
这两个属性的作用是控件可以在服务器端作为一个对象使用。
默认情况下,服务器无法使用 Web 窗体页上的 HTML 元素,但是,通过将 HTML 元素转换为 HTML 服务器控件,可将其公开为可在服务器上编程的元素。
如果要将ASP网页改写为网页,可以通过在原来的HTML标记中增加这两个属性,从而很容易的完成转换工作。
⏹Web 服务器控件HTML 服务器控件只是使编程更简便,在功能上并没有超越HTML标记。
而Web 服务器控件则是为了超越HTML标记而诞生的,Web 服务器控件比 HTML 服务器控件具有更多内置功能。
复习题一、选择题1. ( b )是用于创建Web应用程序的平台,此应用程序可使用IIS和.NET Framework 在Windows服务器上运行。
A.C#B.C.Visual D.Visual 2.下面不属于的功能的是( d )。
A.多语言支持B.代码编译执行C.缓存机制D.较差的安全性3. ( a )文件由Visual 创建,用于定义Web应用程序的配置。
A.Web.ConfigB.Global.asaxC.AssemblyInfo.csD.ASPX4. 关于动态网页,以下说法正确的是( c )。
A.只有包含在服务器端执行的脚本才是动态网页B.包含有动画、视频或声音的网页也是动态网页C.根据用户不同,请求返回不同结果的网页是动态网页D.的页面产生的一定是动态页面5.以下( c )不是.NET平台的组成部分。
A..NET框架类B.公共语言运行库C.Internet Information Server(IIS)D.运行时环境6.关于,以下叙述不正确的一项是( a )。
A.与ASP只是名称相似,而根本没有任何关系B.显著的功能和特点是代码编译执行和支持Web服务C.的主流和推荐的脚本语言是C#D.是用于开发Web数据库应用程序的7.下列( d )不是运行程序的必要条件。
A.IISB.浏览器C..NET Framework8. 假设IIS所预设的主目录位置为D:\Test,如果在D:\Test目录下的mytest.htm被浏览,则其在浏览器中的地址为( c )。
A.http://mytest.htmB.http://localhostC.http://localhost/mytest.htmD.http//localhost/mytest.htm/test/mytest.htm9.下列说法错误的是( d )。
A.只有采用SQL Server身份验证模式,才可以启用sa账户登录B.如果只想使用C#语言开发应用程序,在安装Visual Studio 2005时,只需选择“Visual C#”语言安装即可C.Dreamweaver可以帮助开发人员进行页面布局和样式的设计D.安装IIS后,主目录不能更改10.代码隐藏文件用于存储窗体上的( d )。
第 8 章 网页标准控件控件是一种类,绝大多数控件都具有可视的界面,能够在程序运行中显示出其外观。
利 用控件进行可视化设计既直观又方便,可以实现“所见即所得”(What You See Is What You Get, 简称为 WYSIWYG)的效果。
程序设计的主要内容是选择和设置控件以及对控件的事件 编写处理代码。
本章将介绍网页中最常用的几个标准网页控件。
目的在于学会这些常用控件的使用方 法。
其他控件在后续的章节中介绍。
8.1 网页中的控件类型 的类库中包括大量的控件,根据功能可以将它们分成以下几种类型。
标准控件:这些控件属于服务器控件。
除窗体页中常用的按钮、文本框等控件以外,还 有一些特殊用途的控件,例如,显示日历的控件等。
网页标准控件与 HTML 元素标记之间 不存在一对一的对应关系。
验证控件:用于检验用户的输入。
例如,验证是否缺少必须填入的字段;输入的数据格 式是否符合要求;输入的数据是否在指定的范围内等。
用户控件及自定义控件: 这些控件都是由程序设计者自行定义的控件, 是对系统控件的 扩展。
用户控件可以在项目内不同网页中重复使用,从而提高了程序设计的效率,同时还能 使各网页的显示风格一致。
HTML 控件:默认情况下它属于客户端(浏览器端)控件,但也可以将其转换成服务器端 控件。
每个控件对应于一个 HTML 元素的标记。
数据源控件 这类控件可以针对各种数据源实现数据绑定功能, 这包括微软的 SQL Server 和 Access, 以及其他关系型数据库、XML 文件和代码中实现的类。
数据视图控件 这类控件呈现为各种列表和表格,它们可以绑定到数据源以显示和编辑数据。
个性化控件 这类控件允许用户个性化地展示自己的站点, 包括重新调整网页本身等。
用户信息会被 自动地、透明地保存,并从一个会话持续到下一个会话。
登录控件和安全控件 这类控件实现站点中的普通登录功能,并维护用户的密码。
一、填空题(1)ASPX网页的代码储存模式有两种,它们是___和___代码分离模式。
答案:代码分离模式,单一模式(2)当一个Web控件上发生的事件需要立即得到响时,应该将他的属性设置为true。
答案:AutoPostBack(3)请将下列数据(nn)在TextBox控件中显示出来。
Double nn=4512.6;TextBox1.Text=答案:nn.ToString()(4)当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为.答案:Password(5)下面是一个转移到新网页的指令:Response.Redirect(“”)答案:新网页的Ur1(6)在设计阶段必须将各个验证控件的属性指向被验证的控件。
答案:ControlToValidate(7)下面是设置和取出Session对象的代码。
设置Session的代码是:Session[“greeting”]=“hello wang!”;取出该Session对象的语句如下:string Myvar=;答案:Session[“greeting”].ToString()(8)下面是使用Application对象时防止竞争的代码。
Application.;//锁定Application对象Application[“counter”]=(int)Application[“counter”]+1;Application.;//解除对Application对象的锁定答案:lock(),unlock()(9)废除Session的语句是:。
答案:Session.Abandon()(10)打开文件系统网站时将自动打开一个服务器,这是一个轻量级服务器,可以用来对程序进行检查和调试工作。
答案:开发(11)所谓分布式类就是在多个文件中使用相同的____,相同的____,而且每个类的定义前面都加上____修饰符,编译时编译器就会自动的将这些文件编辑成一个完整的类。
第一章测试1.模型(Model)是应用程序中用于处理应用程序数据逻辑的部分。
()A:对B:错答案:A2.HTML是一种用于制作超文本文档的简单标记语言。
()A:对B:错答案:A3.CSS可用于控制HTML和XML内容的数据交换形式。
()A:错B:对答案:A4.JavaScript是为适应静态网页的交互性而诞生的一种新的脚本(Script)语言。
()A:对B:错答案:B5.Ajax是指一种创建交互式网页应用的网页开发技术。
()A:对B:错答案:A第二章测试框架中包含编译器 csc.exe。
()A:错B:对答案:B2.处于同一个命名空间中的类必须有明确的相互关系。
()A:错B:对答案:A3.在C#中不存在全局方法和变量,所有的变量和方法都包含在类的定义中。
()A:对B:错答案:A4.C#标识符的首字符必须为字母、下划线或@。
()A:对答案:A5.声明数组时既指定了数组的名字和数组元素的类型,又开辟了内存空间。
()A:对B:错答案:B第三章测试1.类体由成员变量定义和成员方法定义两部分组成。
()A:错B:对答案:B2.C#修饰符按功能可分为两类:类修饰符和成员修饰符。
()A:错B:对答案:A3.构造方法的主要作用是完成对类的对象的初始化工作。
()A:对B:错答案:A4.析构方法能被重载,但不能被继承。
()A:对B:错答案:B5.用protected修饰的成员变量可以被3种类所引用:该类自身、该类的嵌套类及该类的子类。
()A:对B:错答案:A第四章测试1.HTML元素和属性是不区分大小写的,但通常约定标记符使用大写字母。
()A:错B:对答案:B2.是HTML文件头标记符,用来描述HTML首部的内容,其作用是说明文档的整体信息。
()A:对答案:A3.在HTML文档中,可以用回车、空格、Tab键来调整文档段落的格式。
()A:错B:对答案:A4.锚点标签定义元素仅限于文字。
()A:错B:对答案:A5.称为区隔标记,其作用是将页面分隔为不同的区域。
第8章Web服务器控件❑特点会根据Client 端的状况产生一个或多个适当的HTML 服务器控件,它可以自动侦测Client 端浏览器的种类,并自动调整成适合浏览器的输出。
Web 服务器控件还拥有一个非常重要的功能,那就是支持数据绑定(Data Binding );这种能力可以和数据源连结,用来显示或修改数据源的数据。
它们提供了一些能够简化开发工作的特性,其中包括:丰富而一致的对象模型:WebControl 基类实现了对所有控件通用的大量属性,这些属性包括ForeColor、BackColor、Font、Enabled 等。
属性和方法的名称是经过精心挑选的,以提高在整个框架和该组控件中的一致性。
通过这些组件实现的具有明确类型的对象模型将有助于减少编程错误。
对浏览器的自动检测:Web 控件能够自动检测客户机浏览器的功能,并相应地调整它们所提交的HTML,从而充分发挥浏览器的功能。
数据绑定:在Web 窗体页面中,可以对控件的任何属性进行数据绑定。
此外,还有几种Web 控件可以用来提交数据源的内容。
在HTML 标记中,Web 控件会表示为具有命名空间的标记,即带有前缀的标记。
前缀用于将标记映射到运行时组件的命名空间。
标记的其余部分是运行时类自身的名称。
与HTML 控件相似,这些标记也必须包含runat="server" 属性。
下面是一个声明的示例:<asp:TextBox id="textBox1" runat="server" Text="基督山伯爵"></asp:TextBox>介绍几种常见的web控件4.2.1 Label Web控件❑作用:用来显示文字。
❑语法:<ASP:LabelId="控件名称"Runat="Server"Text="控件上要显示的文字"/>或<ASP:LabelId="控件名称"Runat="Server">所要显示的文字</ASP:Label>❑示例:<% Page Language=C#><Html><script runat=server>void Page_Load(object sender, System.EventArgs e){Label1.Text="这是一个Label控件";}</script><body><ASP:Label id="Label1" Runat="Server" /></body></Html>4.2.2 button控件❑作用:在Web 窗体页上显示普通按钮(Button) 控件。
❑语法:<asp:Button id="控件id"Text="控件上显示的文字"CommandName="命令名"CommandArgument="commandargument"CausesValidation="true | false"OnClick="函数名"runat="server"/>❑功能:有两种类型的功能,第一可以创建“提交”按钮,第二可以创建“命令”按钮。
❑示例1(完成提交功能):<% Page Language=C#><html><head><script runat=server>void SubmitBtn_Click(Object sender, EventArgs e){Message.Text="Hello World!!";}</script></head><body><font size=2>点击提交按钮</font><form runat="server"><asp:Button id="SubmitBtn" Text="提交" OnClick="SubmitBtn_Click" runat="server"/><asp:label id="Message" runat="server"/></form></body></html>❑示例2(完成命令功能):<% Page Language=C#><html><head><script runat="server">void Repeater1_ItemCommand(object sender, RepeaterCommandEventArgs e) {lblResult.Text = "<b>" + mandName + "</b>, <b>" + mandArgument + "</b>";}</script></head><body><form runat=server><asp:Repeater id=repeater1 onitemcommand="Repeater1_ItemCommand" runat="server"><ItemTemplate><asp:Button id=btnBuy Text="Buy" CommandName="buy" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "name") %>' runat="server" /><asp:Button id=btnSell Text="Sell" CommandName="sell" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "good") %>' runat="server" /><asp:Label id=lblSeller Text='<%# DataBinder.Eval(Container.DataItem, "shortname") %>' Font-Bold="true" runat=server /></ItemTemplate></asp:Repeater><asp:Label id=lblResult runat="server" /></form></body></html>private void Page_Load(object sender,EventArgs e){if (!Page.IsPostBack){ArrayList arrList = new ArrayList();arrList.Add(new PositionData("Jone", "J", "Egg"));arrList.Add(new PositionData("Tom", "T", "Chicken"));arrList.Add(new PositionData("Mary", "M", "Bird"));repeater1.DataSource = arrList;repeater1.DataBind();}}public class PositionData {private string name;private string shortname;private string good;public PositionData(string name, string shortname, string good) { = name;this.shortname = shortname;this.good = good;}public string Name {get {return name;}}public string Shortname{get {return shortname;}}public string Good{get {return good;}}}4.2.3 Image控件❑作用:用来显示图片。
❑语法:<ASP:ImageId="控件名称"Runat="Server"ImageUrl="图片所在地址"AlternateText="图形还没加载时所替代的文字"ImageAlign="NotSet | AbsBottom | AbsMiddle | BaseLine | Bottom | Left | Middle | Right | TextTop | Top" />4.2.4 HyperLink控件❑作用:用来设定超级链接,就是HTML元素的<A> 标注。
❑语法:<ASP:HyperlinkId="控件Id"Runat="Server"Text="超级链接文字或小提示文字"ImageUrl="图片所在地址"Target="超级链接所要显示的窗口"/>或<ASP:HyperlinkId="控件名称"Runat="Server"ImageUrl="图片所在地址"Target="超级链接所要显示的窗口"/>超级链接文字</ASP:Hyperlink>4.2.5 LinkButton Web 控件❑作用:功能和Button Web控件一样,不同之处在于它是类似超级链接的文字接口。