280 likes | 409 Vues
第 3 章 Web 服务器端控件编程 (2). 6. 内容回顾. 服务器端控件的基本概念 页面指示符的概念 HTML 服务器端控件的概念与使用方法 文件上传控件. 内容提要. 介绍 Web 服务器端控件的概念 文本、标签和图像控件 下拉列表控件 单选框和复选框 Literal 控件 容器控件. Web 服务器端控件. 相对 HTML 服务器端控件, Web 服务器端控件提供的功能更加广泛,几乎覆盖了 HTML 服务器端所有控件的功能。 在 .NET 开发中,推荐使用 Web 服务器端控件。. Web 服务器端控件的层次. 文本、标签和图像控件.
E N D
内容回顾 • 服务器端控件的基本概念 • 页面指示符的概念 • HTML服务器端控件的概念与使用方法 • 文件上传控件
内容提要 • 介绍Web服务器端控件的概念 • 文本、标签和图像控件 • 下拉列表控件 • 单选框和复选框 • Literal控件 • 容器控件
Web服务器端控件 • 相对HTML服务器端控件,Web服务器端控件提供的功能更加广泛,几乎覆盖了HTML服务器端所有控件的功能。 • 在.NET开发中,推荐使用Web服务器端控件。
文本、标签和图像控件 • TextBox文本控件是一个让用户输入文本的控件。 • 默认情况下,TextBox控件是一个单行文本框。 • 如果将TextMode属性设置为Multiline,则TextBox控件变成一个多行文本框。 • 如果将TextMode属性设为Password,则变成密码框。
使用文本、标签 程序名称:3-07.aspx <% @ Page Language="VB" %> <script runat="server"> Sub txtUid_Text (Sender As Object, e As EventArgs) lblUid.Text = txtUid.Text End 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:名称 属性列表/>。
超级链接 程序名称:3-09.aspx <asp:HyperLink id="hyperLink1" ImageUrl="bjtu.jpg" NavigateUrl="http://press.bjtu.edu.cn/" Text="北京交通大学出版社" Target="_blank" runat="server"/> </body>
下拉列表控件 • DropDownList控件:用于创建下拉列表框,当用户从下拉列表框选择一项的时候,将触发SelectedIndexChanged事件。 • 可以用SelectedIndex属性获得所选项的索引,用SelectedItem属性获得所选项的内容
下拉列表控件 程序名称:3-10.aspx <% @ Page Language="VB" %> <script runat="server"> Sub Image_Changed (Sender As Object, e As EventArgs) lblUid.Text = lstAddr.SelectedItem.Value End 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>
单选框和复选框 • CheckBox控件用于往Web页面中添加复选框,用Checked属性判断复选框是否被选中。 • 当用户单击复选框时候,将触发CheckedChanged事件。 • 默认时,CheckedChanged事件并不会立即被提交到服务器处理,如果将AutoPostBack属性设置为True,则会立即被送到服务器处理。
单选框和复选框 程序名称: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.Checked Message.Text+="<b>性别</B>:女<br>" end if Message.Text+="<b>爱好:</b>" if Football.Checked Message.Text+="足球 " end if if Tour.Checked Message.Text+="旅游 " end if if Chess.Checked Message.Text+="围棋 " end if End Sub </script>
<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>
表格控件 • 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>
文本控件 • Literal控件用于在页面上显示静态文本。使用Literal控件的好处是可以编程操作静态文本。 程序名称:3.14.aspx <form runat="server"> <asp:Literal id="Literal1" Text="青少年是祖国的未来!" runat="server"/> </form>
容器控件 • ASP.NET提供两种容器控件PlaceHolder控件和Panel控件。 • PlaceHolder控件用于在页面上保留一个位置,以便运行时在该位置动态放置其他的控件。 • PlaceHolder控件是一个控件集合
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>
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>
实验:网上购物输入控件设计 • 了解:购物的基本方法。 • 熟悉:购物的页面的组成。 • 掌握:购物程序的编写。
步骤1:理解服务器端控件 • 服务器端控件的执行过程是:先在服务器执行,将执行的结果一次性发给客户端浏览器 • 在ASP和JSP中,没有服务器端控件,只能依靠单纯的HTML控件实现交互操作。
步骤2:使用文件上传 • 使用HtmlInputFile控件可以实现文件上传。 • 功能是将客户端的文件,上传到服务器的某个目录下
步骤3:广告栏控件和日历控件 • AdRotator控件用于制作广告条。AdRotator控件在每次打开或重新加载网页时在页面上放置一幅新的广告。 • 显示的广告取决于AdRotator配置文件。AdRotator配置文件。 • 该文件是一个XML格式的文件,包含显示图像和链接信息显示频率
广告栏控件 • 每次刷新的时候,都可能显示不同的图片,显示的比重是Ad.XML中<Impressions>标记来设置的 程序名称:Ad.aspx <%@ Page Language="VB" %> <form runat="server"> <asp:AdRotator id="AdRotator1" Target="_blank" AdvertisementFile="Ad.xml" runat="server"/> </form>
程序名称: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>
本章习题 • 填空题 • 1、通常可在_______事件中放页面的初始化代码,如数据库的连接等等。 • 2、可用_______属性来判断用户是否第一次访问该页面。 • 3、HTML服务器控件在原有的HTML标记的基础上,加上_______属性。 • 4、DropDownList控件用于创建下拉列表框。当用户从下拉列表框选择一项的时候,将触发SelectedIndexChanged事件。可以用_______属性获得所选项的索引,用_______属性获得所选项的内容。 • Page_Load() IsPostBack “runat=”server”” SelectedIndex SelectedItem
本章习题 • 选择题 • 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
简答题 • 1、简述ASP.NET的页面处理过程。 • 2、简述Web服务器端控件与HTML服务器端控件的区别。
本章总结 • 介绍Web服务器端控件的概念 • 文本、标签和图像控件 • 下拉列表控件 • 单选框和复选框 • Literal控件 • 容器控件