服务器控件的基本知识.ppt_第1页
服务器控件的基本知识.ppt_第2页
服务器控件的基本知识.ppt_第3页
服务器控件的基本知识.ppt_第4页
服务器控件的基本知识.ppt_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

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

文档简介

1、服务器控件的基本知识,本章内容,了解和使用各种服务器控件 深入体会服务器控件带来的软件编程思想 使用验证控件确保输入数据的正确性 使用导航控件方便地创建导航系统 使用用户控件减少代码提高程序的重用性,本章重点,ASP.NET 2.0中的各种服务器控件 验证控件 导航控件 用户控件,本章学习目标,本章将围绕ASP.NET页面内容,主要介绍Web服务器控件。通过本章学习,应掌握以下内容: 了解HTML服务器控件 掌握常用的Web服务器控件的使用方法 掌握验证控件、导航控件及用户控件的使用方法,ASP.NET服务器控件,3.1 服务器控件的基本知识 3.2 服务器控件的事件模型 3.3 HTML服务

2、器控件 3.4 标准控件 3.5 动态生成控件 3.6 验证控件 3.7 导航控件 3.8 用户控件 3.9 本章小结,3.1 服务器控件的基本知识,Web窗体是一个容器类对象,由代码、标记、正文文本和服务器控件构成。服务器根据页面请求,结合所有控件的输出,生成正确的HTML标记语言向客户提供在浏览器中显示的页面。在ASP.NET页面元素中,除了HTML标记外,所有控件实际上是在服务器端运行的,因此将这些控件称为服务器控件。所有的服务器控件都必须放在与标记之间。 服务器控件编程的关键是runat属性,如果一个控件没有使用runat=”server”属性进行声明,则该控件被认为是纯文本,并按照先

3、后顺序输出。如果使用了runat=”server”属性进行声明,ASP.NET在服务器上处理页面时就会生成该控件的一个实例,该控件对象实例的属性方法对程序员是透明的。 每个服务器控件都有一个惟一的ID名称和一些属性、方法,以便在服务器端代码中引用它,3.1 服务器控件的基本知识,ASP.NET提供了两大类服务器控件:HTML服务器控件和Web服务器控件。 HTML服务器控件与HTML标记一一对应,在每一个HTML标记属性中添加runat=”server”属性就变成了HTML服务器控件。 Web服务器控件不与HTML标记对应,ASP.NET 2.0提供了丰富的Web服务器控件包括标准控件、验证控

4、件、导航控件、登录控件等类型,3.2 服务器控件的事件模型,ASP.ENT除了ASP.NET的页面事件以外,还有HTML事件、服务器控件事件等。这些事件中,有的只能由服务器处理,而在浏览器端发生的事件,有些可以由浏览器处理也可以由服务器处理。因此也可以将这两种事件称为浏览器处理事件和服务器处理事件。 浏览器处理事件 服务器处理事件,3.2 服务器控件的事件模型,浏览器处理事件 浏览器处理事件在客户端浏览器上触发,也由浏览器响应。内置于浏览器的解释器会执行该事件的处理程序,不会将该事件传至服务器,这样就可以减轻服务器的负担,处理效率也会更高。 浏览器处理事件主要有:onMouseUp、onMou

5、seDown、onMouseOver、onMouseMove、onClick、onDblClick、onKeyUp、onkeyPress、onKeyDown等事件。 http:/,3.2 服务器控件的事件模型,服务器处理事件 服务器处理事件在客户端浏览器引发,但浏览器并不处理它,首先要将事件的信息发送到服务器,告诉服务器处理该事件,并在服务器端执行事件处理代码,待服务器处理完毕后再返回客户端浏览器,比浏览器处理事件多了一个信息的往返过程。但是,由于服务器处理事件可以利用服务器所有的资源,可以用多种语言例如C#、VB等.NET支持的语言编写事件处理代码,因此由服务器处理的事件功能更强。 浏览器处

6、理事件与服务器处理事件的最大不同在于处理事件的方法不同。一个是在客户端浏览器进行处理,而另一个是在服务器端进行处理,3.2 服务器控件的事件模型,服务器处理事件 有的事件只能由浏览器处理,如onMouseOver事件,由于这些事件发生的过于频繁,为了减轻服务器的负担,没有必要传送到服务器去处理,因此这样的事件只能由客户端浏览器来处理。 有些事件虽然服务器能完成处理工作,但如果能在能由浏览器执行,则执行效率更高,功能也更强。如在客户端的事件处理程序中可以用JavaScript或VBScript语言编写的脚本,如可以通过alert()方法弹出一个消息框,也可以通过confirm()方法弹出一个确认

7、窗口。 点击确定,3.2 服务器控件的事件模型,服务器处理事件 ASP.NET的某些服务控件会自动生成一部分客户端代码,用来响应客户端的浏览器处理事件。为了减少事件处理过程中的信息往返次数,如文本框中的文本以及下拉列表框、单选按钮、复选按钮中的选项发生改变时,这种信息的改变并不及时发送到服务器,而是先将事件的信息保存到客户端的缓冲区中,等到下一次向服务器发送信息时,再和其它信息一起发送到浏览器,3.3 HTML服务器控件,3.3.1 在页面中添加HTML服务器控件 3.3.2 常用的HTML服务器控件 3.3.3 HTML服务器控件的公有属性、方法和事件,3.3.1在页面中添加HTML服务器控

8、件,在页面中添加HTML控件,在工具箱中选择HTML选项卡,双击所需控件或将所需的控件拖到页面中适当的位置即可。每个HTML服务器控件都有一个HTML标记与之对应。 默认情况下,HTML控件属于浏览器端控件,不能被服务器使用。将HTML控件变为能够在服务器上运行的HTML服务器控件,有两种方法:一在设计视图中右击该控件,在弹出的快捷菜单中选择“作为服务器控件运行”命令;另一种方法是在源视图中,在HTML标记中加入属性runat=”server”,3.3.2 常用的HTML服务器控件,3.3.2 常用的HTML服务器控件,3.4 标准控件,添加到窗体中的每一个控件都会生成相应的HTML语句: 或

9、 基本控件 选择控件 高级控件,3.4 标准控件,3.4.1 基本控件 1. Label控件 2. TextBox控件 3. Button、ImageButton和LinkButton控件 4. Image和ImageMap控件 5. HyperLink控件 6. Panel和PlaceHolder控件,1. Label控件,标签控件Label是服务器控件中最简单的控件,用于在页面上动态显示文本。语法格式如下 或 要显示的文本 要想改变标签中显示的文字,可通过修改Text属性来实现。有两种方法: 一是在标签的属性窗口中直接修改Text属性; 二是通过编程方式,在程序运行过程中在标签中动态显示文

10、本。 如:Label2.Text = TextBox1.Text + 您好,2. TextBox控件(1,文本框控件TextBox是用得最多控件之一,该控件可以用来显示数据,也可以用来接收用户输入的数据。语法格式如下:,2. TextBox控件(2,提示: TextMode属性有3个选项: 默认为SingleLine,单行文本框; MultiLine,多行文本框; Password,密码输入框,Button控件,Button控件是最常用的按钮控件,一般用来提交表单。语法格式如下: Button按钮控件都可以接收用户的单击事件(Click),执行OnClick属性指定的事件过程来完成相应的操作,

11、ImageButton控件,图像按钮ImageButton控件综合了Image控件和Button控件的功能,用于创建图像外观的按钮,功能与Button控件相同,语法格式如下: 提示:图像路径最好用相对路径,LinkButton控件,LinkButton控件用来创建超链接外观的按钮,可起到超链接动作用。语法格式如下: 链接文本 提示: Button、ImageButton、LinkButton三种按钮都有一个PostBackUrl属性,可以将该属性设置成某个页面的URL,或其它的外部网址,单击该按钮时便可直接转向该页面,Image控件,图像控件Image可以在页面上显示图像,通过ImageUrl

12、属性设置要显示图像的路径及文件名。图像文件为.gif、.jpg或其它格式,可以在设计时设定,也可以在程序运行时指定,还可以将控件的ImageUrl属性绑定到数据源上。 语法格式如下:,HyperLink控件,超链接控件HyperLink用来创建一个文本超链接或图片超链接。语法格式如下: 提示:Target属性用来指定打开页面的窗口,其取值为: _blank,新窗口; _self,相同框架; _parent,父框架; _top,整页。 Button、ImageButton、LinkButton、HyperLink区别 : http:/,Panel控件(1,Panel控件主要是为其它控件提供容器,

13、可以通过编程方式来生成控件以及显示隐藏控件组等,语法格式如下: 其它控件 利用Visible属性可以显示或隐藏一组控件。在Panel控件中,可以方便地添加或移除Panel控件内的其它控件,Panel控件 (2,例3.2 Panel控件应用示例。在页面中添加2个,在第一个Panel控件中添加3个文本框,并在属性窗口中设置TextMode属性,在第二个Panel控件中显示添加的内容,程序运行时,在文本框中输入信息,单击“确定”按钮,在Panel2中显示结果,Panel控件 (3,protected void Button1_Click(object sender, EventArgs e) Pan

14、el1.Visible = false; Panel2.Visible = true; Label1.Text = 您输入的信息如下:; Label2.Text += 您的用户名:+TextBox1.Text + ; Label3.Text += 您的密码是: + TextBox2.Text + ; Label4.Text += 您的留言内容是: + TextBox3.Text;,PlaceHolder控件(1,PlaceHolder控件与Panel控件类似,只作为其它控件的容器,可以动态地添加各种控件,但PlaceHolder控件本身不产生可见输出。语法格式如下: 在PlaceHolder控

15、件中,通过Controls集合的Add、Remove等方法可以方便地添加或移除PlaceHolder控件内的其它控件。 例3.3 在PlaceHolder控件中动态添加1个标签,PlaceHolder控件(2,protected void Page_Load(object sender, EventArgs e) Button btn=new Button(); btn.Text =动态生成的按钮; PlaceHolder1.Controls.Add(btn);,3.4.2 选择控件,1. RadioButton和RadioButtonList 2. CheckBox 和CheckBoxLis

16、t 3. DropDownList和ListBox控件,RadioButton控件,单选按钮控件RadioButton用于向页面中添加单选钮。语法格式如下:,Autopostback是一种机制(自动根据Web控件的一些事件,将页面自动发回服务器。在一些Web控件中,称为auto post back属性。如设置为true ,当此控件的某事件发生时,将发送一个request到服器。例如:Dropdown Box (Combo box)控件的属性AutoPostBack。如果我们将其设置为true ,当用户在组合框中选择不同的值时,被触发的事件将发送一个request给服务器。 为什么我们需要发送请

17、求到服务器?在此情况下的网页一般是用来输入用户信息的。该网页包含两个组合框控件:国家和城市。当用户选择某国,适当的城市应该显示到另一组合框,当然这一般是从数据库加载。为实现这一要求,我们可以设置国家组合框的autopostback属性为true 。如果我们这样做,当国家组合框触发了事件,那么将有一request发送给服务器,而此时,可执行一次,我们预先写好的根据国家值从数据库读取适当的城市值,RadioButtonList控件,单选按钮组控件RadioButtonList用来创建单选按钮组。语法格式如下: 显示的文字 显示的文字,CheckBox控件,复选框控件CheckBox用于在页面中添加

18、单个复选框。语法格式如下: 提示:可通过Checked属性判断复选按钮是否被选中,CheckBoxList控件,复选框组控件CheckBoxList可以创建一个可多选的组。语法格式如下: 为CheckBoxList控件添加选项的操作方法与RadioButtonList控件相同,RadioButton和CheckBox控件,提示: 可以向页面添加单个RadioButton控件,并单独使用这些控件。也可以通过将多个单选按钮的GroupName属性设置成相同名称的方法,将它们归为一组。同一组中的单选按钮是互相排斥的,只能有一个按钮被选中。 可以根据Checked属性判断按钮是否被选中。 AutoPo

19、stBack属性结合OnCheckChanged属性可以在单选按钮被选中时立即引发OnCheckChanged属性指定的事件过程,RadioButtonList 和CheckBoxList控件,提示: RepeatColumns设置每行显示的列数。 RepeatDirection用于设置按钮的排列方向。 TextAlign设置标题文本的显示位置,默认值为Right。 通过设置属性DataSource=“”、DataTextField=“数据源的字段”、DataValueField=“数据源的字段”可将RadioButtonList绑定到数据源。 如果要想创建单选按钮组,而不是单个的单选按钮,建

20、议使用RadioButtonList单选按钮组控件。 为RadioButtonList控件添加选项也可在“源”视图中通过编写HTML代码来实现,RadioButton和RadioButtonList控件应用示例,创建如图所示的页面,在页面中添加2个RadioButton控件用于选择学分,添加1个RadioButtonList控件用于选择课程类别,1个命令按钮和1个标签。单击“确定”按钮后,在标签中显示选定内容;单击“重置”按钮,恢复选定前的状态,RadioButton和RadioButtonList控件应用示例,为“确定”按钮的单击事件添加代码 protected void Button1_C

21、lick(object sender, EventArgs e) if (RadioButton1.Checked) Label1.Text = 您选择课程是: +RadioButton1.Text; else if(RadioButton2.Checked) Label1.Text = 您选择课程是: + RadioButton2.Text; if (RadioButtonList1.SelectedIndex -1) Label1.Text += + RadioButtonList1.SelectedValue;,CheckBox和CheckBoxList控件应用示例,创建如图所示的页面,

22、在页面中添加1个CheckBoxList控件用于选择爱好,添加1个CheckBox控件用于改变显示方式,1个命令按钮和1个标签。当单击用于改变显示方式的复选框时,显示方式将会发生改变;“单击“确定”按钮时,将在标签中显示选定内容。,CheckBox和CheckBoxList控件应用示例,为复选框选项改变时添加代码 protected void CheckBox1_CheckedChanged(object sender, EventArgs e) if (CheckBox1.Checked = true) CheckBoxList1.RepeatDirection = RepeatDirect

23、ion.Horizontal ;/横向排列 CheckBoxList1.RepeatColumns = 4;/每行显示4个选项 else CheckBoxList1.RepeatDirection = RepeatDirection.Vertical ;/垂直排列 CheckBoxList1.RepeatColumns = 2;/每行显示2个选项,CheckBox和CheckBoxList控件应用示例,为“确定”命令按钮添加代码 protected void Button1_Click(object sender, EventArgs e) string str = 您的爱好是:; for (

24、int i= 0; iCheckBoxList1.Items.Count; i+) if (CheckBoxList1.Itemsi.Selected ) str += + CheckBoxList1.Itemsi.Value; Label1.Text = str;,DropDownList控件,DropDownList控件用于创建下拉列表框,单击向下箭头按钮即可列出预先定义好的列表项,并可从中选取所需的选项。语法格式如下:,ListBox控件,ListBox控件用于创建单选或多选列表框,该控件会一次列出多个选项供用户选择。语法格式如下:,DropDownList和ListBox控件应用示例,

25、创建如图所示的列表框和下拉列表框程序实例。程序中使用了1个列表框、1个下拉列表框、2个按钮和1个标签。该程序要求用户选择一门院级选修课和一门系级选修课。选择后单击“确定”按钮,页面中就会文本显示用户选择的院级选修课和系级选修课。单击“重置”按钮,列表框和下拉列表框就会恢复到选择前的状态,DropDownList和ListBox控件应用示例,为“确定”按钮的单击事件添加代码 protected void Button1_Click(object sender, EventArgs e) Label7.Text = 您选定的选修课如下:; Label1.Text += 院级选修课是: +ListB

26、ox1.SelectedItem.Value+ ; Label1.Text+= 系级选修课是: + DropDownList1.SelectedItem.Text ; 通过SelectedIndex 属性可获取被选中项的索引值,通过SelectedItem.Text或SelectedItem.Value可获取被选中项的文本或值,高级控件,1. HiddenField控件 2. FileUpLoad控件 3. BulletedList控件 4. AdRotator控件 5. Calendar控件 6. Xml控件 7. MultiView和View 控件 8. Wizard控件,1. Hidde

27、nField,HiddenField控件用来创建一个隐藏的控件,可将信息存储在该控件中,提供了一种在页面中存储信息但不显示信息的方法。语法格式如下: HiddenField控件虽然是Web窗体的一部分,但不会在窗体中显示出来,通常用于向服务器发送比较隐藏的信息,2. FileUpLoad控件,用于实现文件上传。要实现文件上传需用到以下知识: 获取客户端要上传文件的路径字符串。 文件上传控件名称.PostedFile.FileName 获取客户端要上传文件路径字符串中的文件名。 Path.GetFileName(文件上传控件名称.PostedFile.FileName) 在上面这句代码中用到了P

28、ath类的GetFileName()方法,因此需要在程序的开始部分需要通过Imports关键字导入System.IO命名空间,语句为: Imports System.IO,FileUpLoad控件(2,将上传文件保存在服务器端指定文件夹下。 文件上传控件名称.PostedFile.SaveAs(服务器端的物理路径); 通过文件上传控件名称.PostedFile的ContentLength、ContentType、FileName属性可以获取上传文件的大小、文件类型及在客户端的路径,FileUpLoad控件(3,例3.12 FileUpload控件应用示例。在页面中添加1个FileUpload控

29、件、1个命令按钮和1个标签,程序运行时,单击“浏览”按钮,选择要上传到服务器端的文件,单击“上传文件”按钮实现文件上传,并在标签中显示文件的相关信息,FileUpload控件应用示例,protected void Button1_Click(object sender, EventArgs e) string filename, filepath ; /通过path类的GetFileName方法获取客户端要上传文件路径字符串中的文件名 filename = Path.GetFileName(FileUpload1.PostedFile.FileName); /filepath是在服务器端保存上

30、传文件的物理路径 filepath =Server.MapPath (.)+ + filename; /保存上传文件 FileUpload1.PostedFile.SaveAs(filepath); /显示上传文件的详细信息 Label1.Text = 文件已上传,详细信息如下:; Label1.Text += 保存路径: + filepath; Label1.Text += 文件名称: + filename; Label1.Text += 文件大小: + FileUpload1.PostedFile.ContentLength; Label1.Text += 文件类型: + FileUplo

31、ad1.PostedFile.ContentType; Label1.Text += 客户端路径: + FileUpload1.PostedFile.FileName;,BulletedList控件(1,BulletedList控件用于在页面中以无序列表(即项目符号列表)或有序列表(即编号列表)的形式来显示列表项的内容。语法格式如下: 显示文本 显示文本 BulletedList控件属于列表类型控件,添加选项的方法与前面提到的List类型的控件的添加方法相同,也可以将其绑定到数据源,BulletedList控件显示样式(2,NotSet:默认设置,显示为实心小黑圆点。 Disc:项目符号显示为

32、实心小圆点。 Numbered:项目符号显示为数字,如1、2、3、4等。 LowerAlpha:项目符号显示为小写字母,如a、b、c、d等。 UpperAlpha:项目符号显示为大写字母,如A、B、C、D等。 LowerRoman:项目符号显示为小写罗马数字。 UpperRoman:项目符号显示为大写罗马数字。 Circle:项目符号显示为空心圆圈。 Square:项目符号显示为实心黑方块。 CustomImage:项目符号显示为自定义图片,由BulletImageUrl属性指定,BulletedList控件显示模式(3,BulletedList控件提供了3种显示模式,可通过DisplayMo

33、de属性进行设置。 Text:列表项内容显示为普通文字,为默认设置。 HyperLink:列表项内容显示为超链接,每一项的Value值即为超链接的URL。 LinkButton:列表项内容显示为LinkButton控件。可以为BulletedList控件的Click事件编写事件处理代码,以确定单击列表项时要执行的操作,BulletedList控件应用示例,创建如图所示的页面,在页面中添加1个4行2列的表格,在表格中输入文本、添加4个BulletedList控件,1个标签控件,并设置相关属性。当单击外观为LinkButton控件的选项时,在页面中显示选定的列表内容,BulletedList控件应

34、用示例,BulletedStyle:Numbered DisplayMode:LinkButton 新浪 搜狐 雅虎,链接按钮类型的BulletedList控件的单击事件处理代码,protected void BulletedList2_Click(object sender, BulletedListEventArgs e) Label1.Text = 您选择的项目是:; Label1.Text += BulletedList2.Itemse.Index.Value ; 通过e.Index语句可获取被选中项的索引,通过BulletedList2.Items(e.Index).Text 语句可

35、获取被选中项的文本,BulletedList2.Items(e.Index).Value语句可获取被选中项的值,AdRotator控件(1,AdRotator控件能够显示一系列可单击的广告,其作用是每当浏览包括这个控件的页面时,页面会随机显示不同的图片,每张图片都以超链接的形式链接到各自的URL,单击广告图片时可重定向到该图片所指向的页面。语法格式如下:,AdRotator控件(2,AdRotator控件使用一个XML文件来存储所要显示的各个广告的图片信息与相关设置,然后利用该控件的AdvertisementFile属性指定该xml文件的路径。AdRotator控件中使用的xml文件的语法格式

36、如下: 要显示的广告图片 单击广告图片后要转向的Url 图片上显示的说明文字 设置广告显示频率的数值 网页筛选广告类别的关键字,AdRotator控件(3,提示: 在xml文件中每一个标记就是一则广告。每个广告数据拥有五个标准的属性:ImageUrl、NavigateUrl、AlternateText、Impressions、keyword。其中ImageUrl属性是必须的,其它四个属性是可选的。Impressions是用来设置广告出现的机率,数值愈大,广告出现的机率越大,AdRotator控件应用示例,首先创建AdRotator控件中使用的xml文件。在站点中右击App_Data目录,在弹出

37、的快捷菜单中选择“添加新项”命令,打开“添加新项”对话框,在“模板”中选择“XML文件”,单击“确定”按钮,即可创建一个XML文件。在其中显示3幅图片,每个图片链接到一个外部网址,广告文件ads.xml(1,/images/sina_logo.gif http:/ 将转向新浪网 20 图片1,广告文件ads.xml(2,/images/sohu_logo.gif http:/ 将转向搜狐网 30 图片2 /images/yahoo_logo.gif http:/ 将转向雅虎网 40 图片3,广告文件ads.xml(2,提示: 上述xml文件中用到的图片已经放在了站点的images文件中,这里使

38、用的是相对路径。默认情况下在该页面所在的文件夹下寻找图片文件,因此在设置和时,需使用文件名称的相对路径,添加波浪号(),它表示站点的根目录。 在页面中添加1个AdRotator控件,在属性窗口中设置控件的AdvertisementFile属性为ads.xml。切换到源视图,系统自动生成的源代码如下所示:,Calendar控件(1,Calendar控件又称日历控件,用来在页面上显示一个日历来让用户查看或选取日期,Calendar控件的功能非常强大。语法格式如下: 从工具箱的标准选项卡中拖动Calendar控件到页面,便会生成一个日历。在Calendar任务列表中选择“自动套用格式”命令,打开“自

39、动套用格式”对话框,在“选择方案”列表中选择一种格式即可应用到日历控件中。除自动套用格式外,控件的外观和功能完全可根据需要定制,Calendar控件的常用属性(1,Calendar控件的常用属性(2,Calendar控件应用示例,创建如图所示的Calendar控件应用示例程序,在页面中添加1个日历控件和1个标签控件,为日历控件自动套用格式。程序运行时,在控件中选择某个日期后,即可将选定的日期显示在页面中。 在页面中添加控件并自动套用格式,双击Calendar控件,为Calendar控件的SelectionChanged事件添加代码 ,以便在标签中显示被选定的日期,并以长日期格式显示 prote

40、cted void Calendar1_SelectionChanged(object sender, EventArgs e) Label1.Text = 选定日期为: + Calendar1.SelectedDate.ToLongDateString();,Xml控件(1,Xml控件可以将一个xml文件的内容直接输出到页面。如果需要页面内嵌入XML文档,可使用XML控件。语法格式如下: DocumentSource属性必须设置,否则将不会显示任何xml文档。如将ads.xml文件显示到XML.aspx页面中,代码如下: 通过DocumentSource指定xml文件的路径及文件名,通过Tr

41、ansformSource属性指定xsl转换文档,该文档在将Xml文档写入输出流之前对其进行格式化,Xml控件应用示例,例3.16 创建如图3.23所示的Xml控件应用示例程序,在页面中添加1个Xml控件,以表格形式在该控件中输出ads.xml文件的内容,创建用于格式化输出的XSLT文件,首先创建用于格式化输出的xsl文件。单击“工具栏”上的“添加新项”按钮,打开“添加新项”对话框,在“模板”列表中选择“XSLT文件”,单击“添加”按钮,打开创建xsl文件的模板,在模板中编写要输出的内容。用于格式化输出的xsl转换文档的代码如下所示,用于格式化输出的XSLT文件,首先创建用于格式化输出的xsl

42、文件。单击“工具栏”上的“添加新项”按钮,打开“添加新项”对话框,在“模板”列表中选择“XSLT文件”,单击“添加”按钮,打开创建xsl文件的模板,在模板中编写要输出的内容。用于格式化输出的xsl转换文档的代码如下所示。 在页面中添加1个Xml控件,将该控件的DocumentSource属性设置为广告文件ads.xml,将TransformSource属性设置为XSLT.xsl。在Xml控件中输出ads.xml文件的效果如下图所示,用于格式化输出的XSLT文件,MultiView和View 控件(1,在ASP.NET 2.0中引入了两个新的相关控件MultiView和View,两个控件都属于容

43、器控件。MultiView控件中可以容纳多个View控件,View控件不能作为独立组件使用,并且只能放在MultiView控件里。View控件中可以包含任何需要在页面中显示的内容,包括HTML标记、服务器控件等。MultiView和View控件要结合起来使用。语句格式如下:,MultiView和View 控件(2,在MultiView控件中,需要识别每一个View控件,除了使用控件的ID属性外,还经常用到控件的索引值,第一个View控件的索引值为0,第二个为1,依次类推。 MultiView控件的设置及切换主要与以下属性、方法和事件有关: ActiveViewIndex属性:用于设置或获取当前

44、被激活的View控件的索引值。默认值为-1,表示没有View控件处于激活状态。 SetActiveView方法:用于激活某个View控件。 GetActiveView方法:用于获取当前被激活的View控件,MultiView和View 控件(3,在MultiView控件中,为了能在各个View控件间进行切换,需在每个View控件中添加按钮,如Button、LinkButton、ImageButton等,通过设置按钮的CommandName属性和CommandArgument属性实现在各个View视图间的切换。 如果要查看下一个View控件,可以将按钮的CommandName属性设置为NextV

45、iew; 如果要查看上一个View控件,可以将按钮的CommandName属性设置为PrevView,MultiView和View 控件(4,在MultiView控件中,通过设置按钮的CommandName属性和CommandArgument属性实现在各个View视图间的切换。 如果要通过View控件的ID值来查看,可将按钮的CommandName属性设置为SwitchViewByID,并将CommandArgument属性设置为View控件ID值。 如果要通过View控件的索引值来查看,可将按钮的CommandName属性设置为SwitchViewByIndex,并将CommandArgum

46、ent属性设置为View控件索引值,MultiView及View控件应用示例,例3.17 创建MultiView及View控件应用示例程序,在页面中添加1个MultiView控件、3个View控件和3个LinkButton控件,页面加载时显示第一个“常规”视图,单击其它View控件,可转向其它的视图,实现切换效果,为3个超链接按钮的Click事件添加事件处理代码,protected void LinkButton1_Click1(object sender, EventArgs e) MultiView1.ActiveViewIndex = 0; protected void LinkButt

47、on2_Click1(object sender, EventArgs e) MultiView1.ActiveViewIndex = 1; protected void LinkButton3_Click1(object sender, EventArgs e) MultiView1.ActiveViewIndex = 2;,Wizard控件(1,Wizard控件是ASP.NET 2.0中新增的控件,是一种向导控件,通过该控件能够快速实现向导功能。语法格式如下:,Wizard控件(2,Wizard控件由4部分组成,如图3.26所示,Wizard控件(3,Wizard控件由4部分组成,各部分的

48、功能: 标题(Header):位于界面上方,为每个步骤提供一致的信息。 向导步骤集合(WizardSteps):界面的主要部分,放置所需的控件。 侧栏(SideBar):通常显示在向导的左侧,包含所有步骤的列表,内容由WizardStep的Title属性设置。 导航按钮(NavigationBar):通常显示在向导的下方,包含“上一步”、“下一步”按钮,用来实现逐步浏览功能,Wizard控件应用示例(1,例3.18 创建Wizard控件应用示例程序,在页面中添加1个Wizard控件,在左侧单击不同的列表项,可以转向相应的页面,单击导航按钮也可实现同样的功能,Wizard控件应用示例(2,设置侧

49、栏 为Wizard控件 “自动套用格式,Wizard控件应用示例(2,为Wizard控件的结束按钮的单击事件添加代码 protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e) lblfinish.Text = 恭喜您,注册成功!; /为填写注册信息后的提交按钮的单击事件添加代码 protected void Button1_Click(object sender, EventArgs e) lblmessage.Text = 您的信息如下:; lblmessage.Text += 用

50、户名: + txtname.Text; lblmessage.Text += 密码: + txtpwd.Text; lblmessage.Text += 确认密码: + txtpwd1.Text; lblmessage.Text += 邮件地址: + txtemail.Text;,动态生成控件,Web服务器控件既可以在设计视图中添加,也可以在程序运行时动态生成,结果图略。 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim objlabel As New

51、 Label 使用new关键字创建对象实例 objlabel.Text = 这是一个动态生成的简单的标签 设置控件的属性 Page.Controls.Add(objlabel) 将新的标签控件添加到页面中 End Sub 提示:可以将动态生成的控件添加到页面,也可以将动态生成的控件添加到容器控件如Panel中;Objlabel不是控件的名称,它是新生成的控件实例的名称;如果要将控件添加到Panel控件中,语句为:Panel1.Controls.Add(objlabel,验证控件(1,在ASP.NET 2.0中提供了一种全新的控件,即Web服务器验证控件,通过这些控件可检查输入的数据是否合法,使

52、用起来非常简单,但功能却很强大。ASP.NET 2.0提供的验证控件包括: RequiredField Validator控件:必须验证控件,验证用户输入的数据是否有效。 ComparValdator控件:比较验证控件,验证用户输入的数据是否与指定的关系相匹配(如大于、小于、等于、不等于)。 RangeValidator控件:范围验证控件,验证用户输入的数据是否在指定的范围内,验证控件(2,ASP.NET 2.0提供的验证控件包括: RegularExpressionValidator控件:正则表达式验证控件,验证用户输入的数据是否合法。 CustomValidator控件:自定义验证控件,采

53、用自定义的验证方法来验证用户输入的数据是否合法。 ValidationSummary控件:在页面中显示所有验证控件产生的错误信息,必须验证控件(1)RequiredField Validator,必须验证控件RequiredField Validator用来验证控件中输入的数据是否有效,如要求用户在注册页面提交之前必须填写“用户名”,如果对该控件进行了必须验证,当用户名文本框为空时,则不能通过验证。语法格式如下:,必须验证控件(2) RequiredField Validator,ControlToValidate属性用来指定要对哪一个控件进行验证,其属性值为要进行验证的控件的ID值; Tex

54、t属性设置的文本是当输入数据的控件没有通过验证时,验证控件本身所显示的错误提示信息; ErrorMessage属性设置的文本是当输入数据的控件没有通过验证,且在窗体页中添加了ValidationSummary控件,在ValidationSummary控件中显示的错误提示信息。 对于表单中每一个需要进行必须验证的控件都要添加一个RequiredField Validator控件进行验证,必须验证控件应用示例(1,例3.19 创建RequiredFieldValidator控件应用示例程序,对填写“姓名”和“密码”的文本框进行必须验证,必须验证控件应用示例(1,在页面中添加2个文本框,为每个文本框

55、添加1个必须验证控件RequiredFieldValidator,再添加1个命令按钮,并在属性窗口中设置文本框及必须验证控件的相关属性,将验证控件的ControlToValidate属性分别设置为要进行验证的文本框控件的ID值。查看源代码 程序运行时,如果在文本框中没有填写任何数据,当单击“提交”按钮时,页面将不会通过验证,并在验证控件处显示通过Text属性设置的错误提示信息。如果在文本框填写了数据,程序将通过验证,并在标签中显示页面通过验证的信息,必须验证控件应用示例(2,姓名: 必须输入姓名 密码: 必须输入密码,比较验证控件(1) CompareValidator,比较验证控件Compa

56、reValidator使用指定的比较运算符(大于、小于、等于、不等于、大于等于、小于等于等)将输入控件的值与指定的常数值或其它输入控件的值进行比较,以确定这两个值是否相匹配。此外,还可使用CompareValidator控件来判断用户输入到输入控件中的值是否可以转换为其Type属性所指定的数据类型,比较验证控件(2) CompareValidator,比较验证控件CompareValidator的语法格式如下:,比较验证控件(3) CompareValidator,Operator的属性值有七种: Equal(等于) NotEqual(不等于) GreaterThan(大于) GreaterT

57、hanEqual(大于等于) LessThan(小于) LessThanEqual(小于等于) DataTypeCheck(检查数据类型是否与Type属性设定值相同,比较验证控件(4) CompareValidator,验证可分两种情况: 1. 与另一控件中输入的值进行比较 2. 与一指定值进行比较,比较验证控件(5) 1. 与另一控件中输入的值进行比较,为确保在确认密码框中输入的密码与在密码输入框中输入的密码相同,需要对确认密码框中输入的数据进行比较验证。需要对验证控件设置以下属性: ControlToValidate属性:设置为要进行验证的确认密码框控件的ID值; ControlToCom

58、pare属性:设置为要与之进行比较的密码框控件的ID值; Operator属性:设置为Equal; Type属性:设置为String,比较验证控件(6) 2.另一指定数值进行比较,与另一指定数值进行比较时,对验证控件需设置的关键属性如下: ControlToValidate属性:设置为要进行验证的文本框控件的ID值; Operator属性:设置为要进行比较的运算符,如GreaterThanEqual; Type属性设置为Integer; ValueToCompare属性:设置为要与之比较的具体数值,如18,比较验证控件(7)比较验证控件应用示例(1,例3.20 创建CompareValidat

59、or控件应用示例程序,要求密码和确认密码必须输入,并要求两次输入的密码必须相同,输入的年龄必须大于等于18岁,比较验证控件(8)比较验证控件应用示例(2,在页面中添加3个文本框、2个必须验证控件(用于对密码框和确认密码框进行必须验证)、2个比较验证控件(用于对确认密码框和输入年龄的文本框进行比较验证)和1个命令按钮,并在属性窗口中设置相关属性。 将对确认密码框进行比较验证控件的ControlToValidate属性设置为要进行验证的确认密码框控件的ID值;ControlToCompare属性设置为要与之进行比较的密码框控件的ID值;Operator属性设置为Equal;Type属性设置为Str

60、ing; 将对年龄进行比较验证控件的ControlToValidate属性设置为要进行验证的年龄文本框控件的ID值;Operator属性设置为GreaterThanEqual;Type属性设置为Integer;ValueToCompare为要进行比较的具体数值,范围验证控件(1) RangeValidator,范围验证控件RangeValidator用于验证用户输入的数据是否在指定的最小值MinimumValue与最大值MaximumValue范围内。在使用此控件时,用户需指定用于比较的上限值和下限值。RangeValidator控件可对数字、字母字符和日期等数据类型的数据进行验证,范围验证控

温馨提示

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

评论

0/150

提交评论