第 3 章 Web 服务器端控件编程 (2)

28
第3第 Web 服服服服服服服服 (2)

description

第 3 章 Web 服务器端控件编程 (2). 6. 内容回顾. 服务器端控件的基本概念 页面指示符的概念 HTML 服务器端控件的概念与使用方法 文件上传控件. 内容提要. 介绍 Web 服务器端控件的概念 文本、标签和图像控件 下拉列表控件 单选框和复选框 Literal 控件 容器控件. Web 服务器端控件. 相对 HTML 服务器端控件, Web 服务器端控件提供的功能更加广泛,几乎覆盖了 HTML 服务器端所有控件的功能。 在 .NET 开发中,推荐使用 Web 服务器端控件。. Web 服务器端控件的层次. 文本、标签和图像控件. - PowerPoint PPT Presentation

Transcript of 第 3 章 Web 服务器端控件编程 (2)

Page 1: 第 3 章  Web 服务器端控件编程 (2)

第 3 章 Web 服务器端控件编程(2)

Page 2: 第 3 章  Web 服务器端控件编程 (2)

内容回顾 服务器端控件的基本概念 页面指示符的概念 HTML 服务器端控件的概念与使用方法 文件上传控件

Page 3: 第 3 章  Web 服务器端控件编程 (2)

内容提要 介绍 Web 服务器端控件的概念 文本、标签和图像控件 下拉列表控件 单选框和复选框 Literal 控件 容器控件

Page 4: 第 3 章  Web 服务器端控件编程 (2)

Web 服务器端控件 相对 HTML 服务器端控件, Web 服务

器端控件提供的功能更加广泛,几乎覆盖了 HTML 服务器端所有控件的功能。

在 .NET 开发中,推荐使用 Web 服务器端控件。

Page 5: 第 3 章  Web 服务器端控件编程 (2)

Web 服务器端控件的层次

Page 6: 第 3 章  Web 服务器端控件编程 (2)

文本、标签和图像控件 TextBox 文本控件是一个让用户输入文本的控

件。 默认情况下, TextBox 控件是一个单行文本

框。

如果将 TextMode 属性设置为 Multiline ,则TextBox 控件变成一个多行文本框。

如果将 TextMode 属性设为 Password ,则变成密码框。

Page 7: 第 3 章  Web 服务器端控件编程 (2)

使用文本、标签 程序名称: 3-07.aspx<% @ Page Language="VB" %><script runat="server">Sub txtUid_Text (Sender As Object, e As EventArgs) lblUid.Text = txtUid.TextEnd Sub</script><form runat="server"> <b> 用户名 :</b> <asp:TextBox id="txtUid" OnTextChanged="txtUid_TextChanged" runat="server"/><br> <b> 您的用户名为 :</b> <asp:Label id="lblUid" runat="server"/></form>

注意:所有 Web 服务器端控件的基本格式为: <asp: 名称 属性列表 /> 。

Page 8: 第 3 章  Web 服务器端控件编程 (2)

超级链接 程序名称: 3-09.aspx<asp:HyperLink id="hyperLink1" ImageUrl="bjtu.jpg" NavigateUrl="http://press.bjtu.edu.cn/" Text=" 北京交通大学出版社 " Target="_blank" runat="server"/> </body>

Page 9: 第 3 章  Web 服务器端控件编程 (2)

下拉列表控件 DropDownList 控件:用于创建下拉列表框,当用

户从下拉列表框选择一项的时候,将触发SelectedIndexChanged 事件。

可以用 SelectedIndex 属性获得所选项的索引,用SelectedItem 属性获得所选项的内容

Page 10: 第 3 章  Web 服务器端控件编程 (2)

下拉列表控件程序名称: 3-10.aspx<% @ Page Language="VB" %><script runat="server">Sub Image_Changed (Sender As Object, e As EventArgs) lblUid.Text = lstAddr.SelectedItem.ValueEnd Sub</script><form runat="server"> 选择你要去的城市: <asp:DropDownList id="lstAddr" AutoPostBack="True" OnSelectedIndexChanged="Image_Changed" runat="server"> <asp:ListItem value=" 北京 " selected="true"> 北京 </asp:ListItem> <asp:ListItem value=" 上海 "> 上海 </asp:ListItem> </asp:DropDownList> <asp:Label id="lblUid" runat="server"/></form>

Page 11: 第 3 章  Web 服务器端控件编程 (2)

单选框和复选框 CheckBox 控件用于往 Web 页面中添加复选框,

用 Checked 属性判断复选框是否被选中。

当用户单击复选框时候,将触发CheckedChanged 事件。

默认时, CheckedChanged 事件并不会立即被提交到服务器处理,如果将 AutoPostBack 属性设置为 True ,则会立即被送到服务器处理。

Page 12: 第 3 章  Web 服务器端控件编程 (2)

单选框和复选框 程序名称: 3-12.aspx<% @ Page Language="VB" %><script runat="server">Sub SubmitBtn_Click (Sender As Object, e As EventArgs) Message.Text="<h4> 您的性别和爱好是 :</h4>" if Male.Checked

Message.Text+="<b> 性别 </B> :男 <br>"end if

if Female.CheckedMessage.Text+="<b> 性别 </B> :女 <br>"end if

Message.Text+="<b> 爱好: </b>" if Football.Checked

Message.Text+=" 足球 &nbsp;&nbsp;"end if

if Tour.CheckedMessage.Text+=" 旅游 &nbsp;&nbsp;"end if

if Chess.CheckedMessage.Text+=" 围棋 &nbsp;&nbsp;"end if

End Sub</script>

Page 13: 第 3 章  Web 服务器端控件编程 (2)

<form runat="server"><b> 性别 :</b><asp:RadioButton id="Male" Text=" 男 " GroupName="Sex" Checked="true" runat="server"/><asp:RadioButton id="Female" Text=" 女 " GroupName="Sex" runat="server"/><br><b> 爱好 :</b><asp:CheckBox id="Football" Text=" 足球 " runat="server" /><asp:CheckBox id="Tour" Text=" 旅游 " runat="server" /><asp:CheckBox id="Chess" Text=" 围棋 " runat="server" /><asp:Button id="Submit" Text=" 提交 " OnClick="SubmitBtn_Click" runat="server" /><asp:Label id="Message" runat="server" /></form>

Page 14: 第 3 章  Web 服务器端控件编程 (2)

表格控件 Table 控件用于创建表格,和表格相关的控件有 TableRow 控件和 TableCell 控件。

TableRow 控件用于创建表格的行, TableCell 控件用于创建表格中的单元格。 程序名称: 3-13.aspx<% @ Page Language="VB" %><script runat="server">Sub Page_Load(Sender As Object, e As EventArgs) // 从选择列表获得行数 int numrows = Convert.ToInt32(TabRows.SelectedItem.Text); // 从选择列表获得列数 int numcells = Convert.ToInt32(TabCells.SelectedItem.Text); // 动态生成表格行和列 for (int j=0; j<numrows; j++) { TableRow r=new TableRow(); for (int i=0; i<numcells; i++) { TableCell c=new TableCell(); c.Controls.Add(new LiteralControl(" 行 "+j.ToString()+", 列 "+i.ToString())); r.Cells.Add(c); } DyTab.Rows.Add(r); }End Sub</script>

Page 15: 第 3 章  Web 服务器端控件编程 (2)

文本控件 Literal 控件用于在页面上显示静态文本。使

用 Literal 控件的好处是可以编程操作静态文本。

程序名称: 3.14.aspx<form runat="server"> <asp:Literal id="Literal1" Text=" 青少年是祖国的未来! " runat="server"/></form>

Page 16: 第 3 章  Web 服务器端控件编程 (2)

容器控件 ASP.NET 提供两种容器控件

PlaceHolder 控件和 Panel 控件。

PlaceHolder 控件用于在页面上保留一个位置,以便运行时在该位置动态放置其他的控件。

PlaceHolder 控件是一个控件集合

Page 17: 第 3 章  Web 服务器端控件编程 (2)

PlaceHolder 控件 程序名称: 3-15.aspx<% @ Page Language="VB" %><script runat="server">Sub Page_Load(Sender As Object, e As EventArgs) Dim literal1 as new Literal() literal1.Text="<b> 你好! </b>" PlaceHolder1.Controls.Add(literal1) Dim button1 as new Button() button1.Text=" 按钮 " PlaceHolder1.Controls.Add(button1)End Sub</script><form runat="server"> <asp:PlaceHolder id="PlaceHolder1" runat="server"/></form>

Page 18: 第 3 章  Web 服务器端控件编程 (2)

Panel 控件 Panel 控件是一个容器控件,它对应 HTML 的 <div> 标记。利用

Panel 控件,可以将一组控件作为一个整体来操作。程序名称: 3-16.aspx<% @ Page Language="VB" %><script runat="server">Sub Page_Load(Sender As Object, e As EventArgs) Dim lbl as new Label() lbl.Text=" 欢迎光临! " lbl.ID="Label1" Panel1.Controls.Add(lbl) Panel1.Controls.Add(new LiteralControl("<br><br>"))End Sub</script><form runat=server> <asp:Panel id="Panel1" runat="server" BackColor="yellow" HorizontalAlign="Center" Height="60px" Width="300px"> </asp:Panel></form>

Page 19: 第 3 章  Web 服务器端控件编程 (2)

实验:网上购物输入控件设计 了解:购物的基本方法。 熟悉:购物的页面的组成。 掌握:购物程序的编写。

Page 20: 第 3 章  Web 服务器端控件编程 (2)

步骤 1 :理解服务器端控件 服务器端控件的执行过程是:先在服务

器执行,将执行的结果一次性发给客户端浏览器

在 ASP 和 JSP 中,没有服务器端控件,只能依靠单纯的 HTML 控件实现交互操作。

Page 21: 第 3 章  Web 服务器端控件编程 (2)

步骤 2 :使用文件上传

使用 HtmlInputFile 控件可以实现文件上传。

功能是将客户端的文件,上传到服务器的某个目录下

Page 22: 第 3 章  Web 服务器端控件编程 (2)

步骤 3 :广告栏控件和日历控件 AdRotator 控件用于制作广告

条。 AdRotator 控件在每次打开或重新加载网页时在页面上放置一幅新的广告。

显示的广告取决于 AdRotator配置文件。AdRotator配置文件。

该文件是一个 XML 格式的文件,包含显示图像和链接信息显示频率

Page 23: 第 3 章  Web 服务器端控件编程 (2)

广告栏控件

每次刷新的时候,都可能显示不同的图片,显示的比重是 Ad.XML 中 <Impressions> 标记来设置的

程序名称: Ad.aspx<%@ Page Language="VB" %><form runat="server"> <asp:AdRotator id="AdRotator1" Target="_blank" AdvertisementFile="Ad.xml" runat="server"/></form>

Page 24: 第 3 章  Web 服务器端控件编程 (2)

程序名称: Ad.XML<Advertisements> <Ad> <ImageUrl>images/263.gif</ImageUrl> <NavigateUrl>http://www.263.net</NavigateUrl> <AlternateText>Capital on line</AlternateText> <Keyword>Good</Keyword> <Impressions>60</Impressions> </Ad> <Ad> <ImageUrl>images/sina.gif</ImageUrl> <NavigateUrl>http://www.sina.com.cn</NavigateUrl> <AlternateText>sina online</AlternateText> <Keyword>Better</Keyword> <Impressions>80</Impressions> </Ad> <Ad> <ImageUrl>images/sohu.gif</ImageUrl> <NavigateUrl>http://www.sohu.com</NavigateUrl> <AlternateText>sohu online</AlternateText> <Keyword>Best</Keyword> <Impressions>70</Impressions> </Ad></Advertisements>

Page 25: 第 3 章  Web 服务器端控件编程 (2)

本章习题 填空题 1 、通常可在 _______ 事件中放页面的初始化代码,如数据

库的连接等等。 2 、可用 _______ 属性来判断用户是否第一次访问该页面。 3 、 HTML 服务器控件在原有的 HTML 标记的基础上,加上

_______ 属性。 4 、 DropDownList 控件用于创建下拉列表框。当用户从下

拉列表框选择一项的时候,将触发SelectedIndexChanged 事件。可以用 _______ 属性获得所选项的索引,用 _______ 属性获得所选项的内容。

Page_Load() IsPostBack “runat=”server”” SelectedIndex SelectedItem

Page 26: 第 3 章  Web 服务器端控件编程 (2)

本章习题 选择题 1 、下面属于 HtmlInput 控件的有( ) A HtmlInputButton 控件 B HtmlSelect 控件 C HTMLAnchor 控件 D Htmlmage 控件

2 、下面的说法,正确的是( ) A 当用户通过客户端浏览器发出一个对 ASP.NET 页面的请求后, Web

服务器交由 ASP.NET 引擎来处理。 B 在 ASP.NET 中, Web Form 能容纳的对象主要是 Server Control

(服务器端控件)。控件叫服务器端的,因为这些控件都是服务器端来处理的。

C ASP.NET 提供了 8 个页面指示符。这些页指示符指明Web 页面( .aspx 文件)和用户控件( .ascx 文件)的编译设置。

D 显示的广告取决于 AdRotator配置文件。该文件是一个 XML 格式的文件,包含显示图像和链接信息显示频率。

AB ABCD

Page 27: 第 3 章  Web 服务器端控件编程 (2)

简答题 1 、简述 ASP.NET 的页面处理过程。

2 、简述Web 服务器端控件与 HTML服务器端控件的区别。

Page 28: 第 3 章  Web 服务器端控件编程 (2)

本章总结 介绍 Web 服务器端控件的概念 文本、标签和图像控件 下拉列表控件 单选框和复选框 Literal 控件 容器控件