710 likes | 828 Vues
第 3 章 ASP.NET 服务器端控件. 本章要点 了解 Web Form 的基本概念 了解控件基本概念 了解 HTML 普通控件 了解 HTML 服务器端控件 掌握 Web 控件的使用方法. 3.1 Web Form 的基本概念.
E N D
第3章ASP.NET服务器端控件 • 本章要点 • 了解Web Form的基本概念 • 了解控件基本概念 • 了解HTML普通控件 • 了解HTML服务器端控件 • 掌握Web控件的使用方法
3.1 Web Form的基本概念 • 在ASP.NET中,一个网页或窗口被看成是一个Web Form(网页表单)。Web Form把Web应用程序的用户界面分割成两部分:可视化用户组件界面(Visual Component)部分和接口逻辑(User Interface Logic)部分。其中,前者指包含HTML标记及服务器端控件声明的部分(也就是浏览器中看到的部分),这部分就好像是一个大容器,开发者可以在其中放入各种ASP.NET控件。而后者是指由开发者编写的用于与网页表单交互的代码。正如第一章所介绍的那样:如果使用普通的文本编辑器进行设计,则上述两个部分放在同一个文件中,并以ASPX作为后缀。如果使用的是Visual Studio.NET进行设计,则可视化组件与接口逻辑将分处于不同的文件中。
3.2 控件概述 • 控件:普通HTML控件、HTML服务器控件、Web服务器控件、自定义控件 • 在ASP中使用的HTML普通控件有input类型(具体有:button checkbox file hidden image password radio reset submit text),select和textarea类型,(严格地说,以上所列12种控件仅是HTML标记,还谈不上是控件,在不和Script脚本配合的情况下,仅有属性,不具有对象以及事件和方法的处理)。在ASP.NET中仍然兼容这些控件,同样可以使用原先的这些标注及相应的各种属性,按照语法规则,编写客户端的页面文档
3.2.1 HTML普通控件 【例3-1】 12种HTML普通控件应用 • 脚本代码如下: • <HTML><HEAD><TITLE>biaodan</TITLE> • <meta content='text/html; charset=gb2312' http-equiv='Content-Type'> • <style type=“text/css”> • body {font-family:宋体; font-size:20px} • </style> • <script language=“JavaScript”> • function fCheck() • { alert(“您输入的姓名:” + document.form1._xm.value); • } • </script></HEAD> • <BODY bgColor=#D9DCFF> • <P align=center><B><FONT color=#8000ff face=华文彩云><big><big><big> • 欢迎您进入紫莎调查网</big></big></big></FONT></B></P> • <FORM action='http://stu.jxyd.net/099/Debug.aspx' method=post name=form1> • <P align=center><B>请输入您的姓名:</B> <INPUT name=_xm type=text size=12></P> • <P align=center><B>请输入通行密码:</B> <INPUT name=2mm type=password size=12></P> 转下页
<P align=center><B>性别:</B> • <INPUT name=3r type=radio value='男' checked>男 • <INPUT name=3r type=radio value='女'>女</P> • <P align=center><B>请选择您喜欢的颜色:</B> • <INPUT name=4c type=checkbox value='红' checked>红 • <INPUT name=4c type=checkbox value='黄'>黄 • <INPUT name=4c type=checkbox value='绿'>绿 • <INPUT name=4c type=checkbox value='蓝' checked> • 蓝 </P> • <P align=center><B>请选择您喜欢的饰物:</B> <SELECT name=5s> • <OPTION selected value='毛绒玩具'>毛绒玩具</OPTION> • <OPTION value='八音盒'>八音盒</OPTION> • <OPTION value='神奇书包'>神奇书包</OPTION></SELECT> </P> • <P align=center><B>请传入文件: <INPUT name=6f type=file size=30></B></P> • <P align=center><B>请输入您的要求和意见: </B> • <BR><TEXTAREA name=7t cols=56 rows=4></TEXTAREA><BR> • <INPUT name=8h type=hidden value='祝老师身体健康,工作顺利!'> • <P align=center> • <INPUT name=ok type=submit value='提交'> • <INPUT name=re-input type=reset value='重选'> • <INPUT name=img type=image src='img\submit.gif'> • <INPUT name=b type=button value='检查姓名输入' onclick='fCheck();'> • </P> • </FORM></BODY></HTML>
3.2.2 HTML服务器端控件 1、概述 • ASP.NET改进了HTML,将HTML普通控件封装为服务器控件。在Server端,控件被解释成HTML代码,然后再发送到客户端。服务器控件,是在普通控件的标注中加上runat=server的属性项,在客户端形成的页面上多了一些内部的代码。HTML服务器控件是在HTML普通控件和Web服务器控件之间的折衷,它们使用熟悉的HTML元素,提供有限的对象。 • 虽然HTML服务器控件和HTML普通控件在显示的形式上互相对应,但在基于事件的驱动和基于控件的编程方面都有了更大的改变。
3.2.2 HTML服务器端控件 2、HTML服务器端控件与HTML标记的关系 • HTML服务器端控件由标准的HTML标记衍生而来,几乎与HTML标记有一一对应的关系,因此二者的属性也基本相同。HTML服务器端控件与HTML标记的区别在于:HTML Server控件的功能更为强大且在服务器端运行。将HTML标记转化为HTML Server控件的方法为:在需要转换为HTML服务器端控件的HTML标记中加入runat=“server”及id=“XXX”属性即可。有些还需要在HTML标记结尾处添加上一个“/”作为结束标记。表3-2列出一HTML Server控件与HTML标记的对应关系。由于<Body>、<Font>、<Div>、<Span>、<HR>等标记难以归类,故ASP.NET将它们之统称为HtmlGenericControl控件。
课堂实训1 • 将HTML标记转换为HTML Server控件。 • 用户输入值,提交后显示输入值。 • 操作分析: • 将HTML中的文本框、提交按钮转换为HTML服务器端控件后,由ASP.NET程序处理这些控件。
3.2.2 HTML服务器端控件 3、使用HTML服务器端控件的原因 • 1、用于将页面显示代码和页面控制代码分离,更便于页面的编写和维护 • 2、具有”回送”功能 • 3、既支持服务器端事件,又支持客户端事件
3.2.3 HTML服务器端控件的通用属性 • 1、Attributes属性——获取或设置HTML Server控件的所有属性值 • l语法格式:对象名称. Attributes(“属性名称”)=值 • l使用说明:属性名称是指控件所支持的属性名称而定。对于不同控件可能含有不同的属性名称。
3.2.3 HTML服务器端控件的通用属性 • 2、Style属性——获取或设置HTML Server控件的CSS样式属性设定值 • l语法格式:对象名称. Style(“CSS属性”)=值 • l使用说明:CSS属性是指控件所支持的CSS属性名称而定。对于不同控件可能含有不同的属性名称。CSS样式所支持的属性的确非常多,但是具有一定的规律。用户可以参考CSS样式表手册(如在VS.NET中以“使用CSS样式”为名的联机帮助)。
3、Parent属性——引用在执行期间的父对象来源,也可以指向父对象3、Parent属性——引用在执行期间的父对象来源,也可以指向父对象 • 在Web Form网页中设计HTML控件时,采用容器(Container)架构来创建对象,所以在HTML Server控件的引用过程中可以引用父对象。这样既可扩展程序的处理能力,又可在执行期间删除对象。 • l语法格式: • 引用父对象:对象名称. Parent • 获得父对象引用的类的来源:对象名称. Parent.Tostring() • 产生父对象的实例:Dim 对象名称as Object=对象名称. Parent
课堂实训2 • 通过HTML Server控件的Parent属性引用其父对象。当用户单击“显示父对象所在的类”按钮时,在标签中显示出按钮的父对象(即层myDIV)所在的类名;当用户单击“删除我自己”按钮时,此按钮被删除;当用户单击“添加一个新按钮”按钮时,会在层myDIV中添加一个新按钮。
3.2.3 HTML服务器端控件的通用属性 • 4、Controls属性——引用指定的HTML Server控件在执行期间的子对象集合 • l语法格式: • 引用某个子对象:对象名称. Controls(i) • 获得子对象引用的类的来源:对象名称. Controls(i).Tostring() • 5、Disabled——用于启用或停用HTML Server控件 • l语法格式:对象名称. Disabled =True | False • l使用说明:Disabled属性设为True时,将指定的HTML Server控件设定为停用状态。 • 6、Visible——用于是否显示一个HTML Server控件 • l语法格式:对象名称. Visible =True | False • l使用说明:Visible属性设为True时,HTML Server处于可见状态。 • 7、HTML Server输入控件的共有属性 • HTML Server控件可分为两类:一类是基于HTML Input标记的输入控件,其余是容器控件。输入控件所共有的属性主要有:Value与Type属性。 • (1)Value——获取或设置与输入控件关联的值。 • (2)type——获取输入控件的类型。
3.2.3 HTML服务器端控件的通用属性 • 8、HTML Server容器控件的共有属性 • HTML Server容器控件的共有属性为InnerHtml和InnerText属性。这两个属性用于设置<标记>和</标记>之间的HTML内容或纯文本。 • l语法格式:对象名称.InnerHtml=字符串 • 对象名称.InnerText= 字符串 • l使用说明:InnerHtml是用HTML格式来显示标记间的内容, InnerText是用纯文本来显示标记间的内容(包括HTML标记)。
3.2.4 HTML服务器端控件的主要事件 • 两类主要事件: • 1、ServerClick事件——单击控件时引发; • 2、ServerChange事件——值改变时引发;
3.2.5 AutoPostBack的传回事件机理 • ASP.NET的一个最大的变革:是改变到事件驱动和基于控件的编程。这一改变允许采用Windows应用程序相同的结构样式创建Internet程序。增加了一个__doPosyBack的客户端Script函数: • <script language="javascript"> • function __doPostBack(eventTarget, eventArgument) { • var theform = document.MyForm; • theform.__EVENTTARGET.value • = eventTarget.split("$").join(":"); • theform.__EVENTARGUMENT • .value = eventArgument; • theform.submit(); • } </script>
3.2.6 HtmlAnchor • HtmlAnchor(如表3-3所列)表示HTML<a>标记的服务器端对应物。这个标记创建到另一个页面的链接或者一个书签。格式如下: • <a id=“MyAnchor” href=“http://www.jxyd.net”name=“bookmarkname” • target=“_blank” title=“My Site” runat=“server”>链接教学园地网 站 • </a> 表3-3 HtmlAnchor成员
3.2.7 HtmlButton • HtmlButton(如表3-4所列)表示<button>标记的服务器端对应物,它在Internet Explorer 4.0或更高版本中得到支持。它创建一个可包含任何HTML内容、包括图像的标准按钮。在下面的例子中,这个按钮的表面有两个图像、一些粗体文本和两条水平线: • <button id=“MyButton” runat=“server” type=“button”> • <img src=“img/jxyd8831.gif”><hr><b>带横线的按钮</b> • </button> 表3-4 HtmlButton成员
3.2.8 HtmlForm • HtmlForm(如表3-5所列)表示<form>标记的服务器端对应物。所有的ASP.NET控件必须包含在一个服务器端HtmlForm控件中,以便代码能够访问它们。然而,很少需要和HtmlForm本身直接交互。在写代码时不要遗忘,HtmlInputControl 类控件一定要嵌入在HtmlForm中。格式如下: • <form id=“MyForm” method=“POST” runat=“server”> • [其他HtmlInputControl 类控件或内容布置在这儿.]</form> 表3-5 HtmlForm成员
3.2.9 HtmlGenericControl • HtmlGenericControl(如表3-6所列)表示其他专用类,如<div>,<span>等所表示的HTML服务器控件。例如: • < div|span|others • id=“MyControl” runat=“server”> • [其他内容布置在这儿.] • </div|span|others> 表3-6 HtmlGenericControl成员
3.2.10 HtmlImage • HtmlImage(如表3-7所列)表示HTML<img>标记的服务器端对应物,它显示一个图片(典型情况为一个GIF,JPG或PNG文件)。例如: • <img id=“MyImage” alt=“jxydSite” align=“top” border=“3” • src=“img/jxyd8831.gif” runat=“server” /> • 单独的 / 控件闭结束符如果省略,系统会自动补上。 表3-7 HtmlImage成员
3.2.11 HtmlInputImage • HtmlInputImage(如表3-8所列)表示HTML<input type=“Image”>标记的服务器端对应物。例如: • <input type="Image" id="MyImageButton" src="img/submit.gif" • runat="server" onServerClick=“i_Click” /> 表3-8 HtmlInputImage成员
3.2.12 HtmlInputButton • HtmlInputButton(如表3-9所列)表示HTML<input type=“button”>,<input type=“submit”>和<input type=“reset”>标记的服务器端对应物。例如: • <input type=“button” id=“MyInputButton” value=“提交” runat=“server” • onServerClick=“b_Click” /> 表3-9 HtmlInputButton成员
3.2.13 HtmlInputCheckBox • HtmlInputCheckBox(如表3-10所列)表示HTML<input type = “checkbox”>标记的服务器端对应物,它创建一个可被选中或不被选中的复选框。这个控件没有任何相关联的标题文本,相反,需要把内容添加到此控件标记旁。格式如下: • <input type=“checkbox” id=“MyCheckBox1” checked runat=“server” />复选框1的内容。 表3-10 HtmlInputCheckBox成员
3.2.14 HtmlInputFile • HtmlInputFile(如表3-11所列)表示HTML<input type = “file”>标记的服务器端对应物,它允许用户上传一个文件。格式如下: • <input type=“file” id=“MyFileUploader” accept=“image/*” size=“30” runat = “server” /> 表3-11 HtmlInputFile成员
3.2.15 HtmlInputHidden • HtmlInputHidden(如表3-12所列)表示HTML<input type=”hidden”>标记的服务器端对应物,它允许你在传回之间存储信息。在ASP.NET编码中,使用page.ViewState集合来存储任何需要保留的信息通常是更容易的。格式如下: • <input type=“hidden” id=“MyHiddenInfo” value=“[隐藏的数据]” runat=“server” /> 表3-12 HtmlInputHidden成员
3.2.16 HtmlInputRadioButton • HtmlInputRadioButton(如表3-13所列)表示HTML<input type=”radio”>标记的服务器端对应物。通常,你将添加一组单选按钮一遍一次仅允许选中一项。下面的例子显示了称为GenderGroup的一组中的两个单选按钮。注意,这个控件没有任何相关联的标题文本,相反,需要把内容添加到控件标记的旁边。格式如下: • <input type=“radio” id=“MyRadio1” name=“GenderGroup” runat=“server” • checked=”True” />Male • <input type=“radio” id=“MyRadio2” name=“GenderGroup” runat=“server” />Female 表3-13 HtmlInputRadioButton成员
3.2.17 HtmlInputText • HtmlInputText(如表3-14所列)表示HTML<input type=“text“>标记的服务器端对应物,它允许单行文本框输入。格式如下: • <input type=“text” id=“MyText” maxlength=“20” size=“40” value=“默认文本” • runat=“server” /> 表3-14 HtmlInputText成员
3.2.18 HtmlSelect • HtmlSelect(如表3-15所列)表示HTML<select>标记的服务器端对应物,它被用于创建一个项目列表。这可以是一个一次显示一项的下拉列表或一个多行列表框。它也可以被设置来允许单个或多个选择。格式如下: • <select id=“MyList” size=“1” runat=“server”> • <option value=“1”>Option 1</option> • <option value=“2”>Option 2</option> • <option value=“3”>Option 3</option></select> 表3-15 HtmlSelect成员
3.2.19 HtmlTable • 格式如下: • <table id=“programmaticID” align=“left | center | right” • bgcolor=“bgcolor” border=“borderwidth” • bordercolor=“bordercolor” • cellpadding=“spacing_within_cells” • cellspacing=“spacing_between_cells” • height=“tableheight” • width=“tablewidth” runat=“server”> • <tr> • <td></td> • </tr> • </table> 表3-16 HtmlTable成员
3.2.20 HtmlTextArea • HtmlTextArea(如表3-19所列)类表示一个多行文本框,它是HTML<textarea>标记的服务器端对应物。格式如下: • <textarea id=“MyTextArea“ cols=“40“ rows=“5“ runat=“server“>初始文本 • </textarea> 表3-19 HtmlTextArea成员
<script language=VB runat=server> Sub i_Click(sender As Object, e As ImageClickEventArgs) Dim ctl as control MyCtl.Innertext = "" For Each ctl In Page.Controls MyCtl.Innertext &= " "& ctl.ID Next For Each ctl In MyForm.Controls MyCtl.Innertext &= " "& ctl.ID Next End Sub Sub b_Click(sender As Object,e As EventArgs) MyCtl.InnerHtml=" " '用InnerHtml而不是用Innertext,可以加html的标识 if MyCheckBox1.checked ="true" then MyCtl.InnerHtml &=" 复选1选中" if MyCheckBox2.checked ="true" then MyCtl.InnerHtml &=" 复选2选中" MyCtl.InnerHtml &=" "& MyFileUploader.value &" "& MyHiddenInfo.value if MyRadio1.checked ="true" then MyCtl.InnerHtml &=" 单选1选中" if MyRadio2.checked ="true" then MyCtl.InnerHtml &=" 单选2选中" MyCtl.InnerHtml &=" <font color=red>"& MyText.value &"</font>" MyCtl.InnerHtml &=" "& MyList.value &" <b>"& MyTextArea.value &"</b>" End Sub </script> <html><body> <!-- HtmlAnchor --> <a id="MyAnchor" href="http://www.jxyd.net" name="bookmarkname" target="_blank" title="My Site" runat="server"> 链接教学园地网站 </a> <!-- HtmlButton --> <button id="MyButton" runat="server"> <img src="img/TIANHAO.GIF"><hr> <b>带横线的按钮</b> </button> <!-- HtmlForm --> <form id="MyForm" method="POST" runat="server"> <!-- HtmlInputCheckBox --> <input type="checkbox" id="MyCheckBox1" runat="server" checked="true" />复选框1的内容 <input type="checkbox" id="MyCheckBox2" runat="server" />复选框2的内容<br> <!-- HtmlInputFile --> <input type="file" id="MyFileUploader" accept="image/*" size="30" runat="server" /><br> <!-- HtmlInputHidden --> <input type="hidden" id="MyHiddenInfo" value="[隐藏的数据]" runat="server" /> <!-- HtmlInputRadioButton --> <input type="radio" id="MyRadio1" name="GenderGroup" runat="server" checked="true" />Male <input type="radio" id="MyRadio2" name="GenderGroup" runat="server" />Female<br> <!-- HtmlInputText --> <input type="text" id="MyText" maxlength="20" size="40" value="默认文本" runat="server" /><br> <!-- HtmlSelect --> <select id="MyList" size="1" runat="server"> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> <!-- HtmlTextArea --> <textarea id="MyTextArea" cols="40" rows="5" runat="server">初始文本 </textarea> <!-- HtmlInputImage --> <input type="Image" id="MyImageButton" src="img/submit.gif" runat="server" OnServerClick="i_Click" /> <!-- HtmlInputButton --> <input type="button" id="MyInputButton" value="提交" runat="server" OnServerClick="b_Click" /><br> <!-- HtmlGenericControl --> <span id="MyCtl" runat="server"> 提交的内容显示在这儿 </span> </form> <!-- HtmlImage --> <img id="MyImage" alt="jxyd site" align="top" border="3" src="img/jxyd8831.gif" runat="server" /> <!-- HtmlTable --> <table id="MyTable" cellSpacing="1" cellPadding="1" width="300" border="1" runat="server"> <tr> <td>Cell 1, 1</td> <td>Cell 1, 2</td> <td>Cell 1, 3</td></tr> <tr> <td>Cell 2, 1</td> <td>Cell 2, 2</td> <td>Cell 2, 3</td></tr> </table> </body></html>
3.3 Web服务器控件 • ASP.NET的服务器端控件也称为Web控件,是基于更加抽象的、具有更强的面向对象特征的设计模型,它提供了比HTML服务器控件种类更多、功能更强大的控件集合。它位于System.Web.UI.WebControls名称空间中,是从WebControl基类中直接或间接派生出来的。包括传统的表单控件(如:TextBox、Button)以及其他更为抽象更高级的控件(如:Calendar、DataGrid等)。微软官方文件指出:就ASP.NET网页应用而言,HTML服务器控件足以满足要求;但也强调web服务器控件提供了更为强大的功能,拥有类似XML的语法,且其使用规则与VB控件使用规则类似。
3.3 Web服务器控件 • 1、Web服务器控件的特点 • 对象模型更丰富,提供了类型安全的编程能力。 • 能够自动检查浏览器,根据浏览器类型创建适于浏览器的输出。 • 通过使用模板(如数据列表控件),可以由开发者自定义一些控件的外观。 • 一些控件具有两种事件处理方式:一种是立即传到服务器进行处理(消息回送);另一种是将信息缓存,等到提交表单时再处理。 • 嵌套控件的事件能够传递到包含它的容器控件。
3.3 Web服务器控件 • 2、Web服务器控件的基本使用形式 • <asp:控件类型名 属性名1=属性值1 属性名2=属性值2 … runat=“server“ /> • 注:结束标志也可为</asp:控件类型名> • asp:控件类型名要连写,中间不能有空格。 • 3、Web服务器控件的分类 • Web Forms 基本控件 • ListControl列表控件 • BaseDataList 数据列表控件 • 增强控件(多信息控件) • BaseValidator 验证控件
3.3 Web服务器控件 • 4、Web服务器控件的基本属性
3.3 Web服务器控件 • 5、Web服务器控件的通用事件
3.3.1 标签控件Label与Literal控件 • 标签控件用于显示文本,用户不能直接对这些文本进行编辑。 • 1、Label控件 • l语法声明: • <ASP:Label Runat="Server" Id="…" Text="…" /> • 2、Literal控件 • 该控件也是用于显示文本的,其作用主要有:动态填入字符串显示;结合数据字段,将数据字段内容转换成网页字符串直接显示。但与Label控件不同的是:Literal控件不能使用一般Web Server控件的共同属性Style,即不支持CSS。 • l语法声明: • <ASP:Literal Runat="Server" Id="…" Text="…" />
3.3.2 控钮控件Button、LinkButton、ImageButton • 1、Button控件 • l语法声明: • <ASP:Button Runat="Server" Id="…" text="…" CausesValidation="True | False" • CommandName="…" CommandArgument="…" • OnMouseOver="…" OnMouseOut="…" Onclick="…" /> • l属性说明: • CausesValidation:给出或设置按钮被单击时,是否启动验证控件进行验证。默认情况下,单击Button控件时会执行页的验证操作。 • Text:给出或设置显示在按钮上的文本。 • CommandName:给出或设置Button控件的命令名称。 • CommandArgument:给出或设置Button控件的命令参数。 • l事件说明: • Onclick:设置按钮被单击后所触发的服务器端事件过程的名称,处理常量接收到Eventargs。有时需要对CommandName或CommandArgument属性进行处理。 • OnMouseOver、OnMouseOut事件中可通过style属性对 • onmouseover="this.style.backgroundColor='lightgreen'" onmouseout="this.style.backgroundColor='lightblue'"
3.3.2 控钮控件Button、LinkButton、ImageButton • 2、LinkButton控件 • 在功能上,LinkButton控件与Button控件完全相同,定义方法也相同。两者之间唯一的区别是,LinkButton控件在外观上显示为超链接。 • l语法声明: • <ASP:LinkButton Runat="Server" Id="…" text="…" CausesValidation="True | False" CommandName="…" CommandArgument="…" OnMouseOver="…" OnMouseOut="…" OnClick="…"… /> • 3、ImageButton控件 • 主要用于动态显示图片,同时可设置其Click事件,单击图片可将Web表单回传至服务器,触发相应的事件处理程序。 • l语法声明: • <ASP:ImageButton Runat="Server" Id="…" ImageUrl="…" CommandName="…" CommandArgument="…" CausesValidation="True| False“ OnMouseOver="…" OnMouseOut="…" OnClick="…"/> • l使用说明: • 在VS.NET的控件工具箱“Web窗体”选项卡中的“ImageButton”控件默认为提交按钮,也就是说它被单击后,会触发表单的客户端事件“OnSubmit”。
课堂实训3 • 控钮控件Button、LinkButton与ImageButton控件的使用。单击按钮后,会弹出对话框表明表单被提交,同时标签中的字体改为“隶书”。单击图像按钮后,也会会弹出对话框表明表单被提交,同时图像按钮中所显示的图片交替变换。在单击两个链接按钮后,可以显示出单击它们的顺序。 • 操作分析: • 识别对两个链接按钮的单击次序是通过设置链接按钮的CommandName属性实现的。在设计阶段,设置两个链接按钮的CommandName属性均为“first”。当单击第一个按钮时,设置另一个按钮的CommandName属性为“second”。
3.3.3 文本框控件TextBox • l语法声明: • <ASP:TextBox Runat="Server" Id="…" Text="…" AutoPostBack="True | False" • Columns="…" maxLength="…" ReadOnly="…" Rows="…" • TextMode="Single | Multiline | Password" Wrap="True | False" OnTextChanged="…" /> • l属性说明: • Text:给出或设置控件中的文本。 • TextMode:给出或设置控件的类型,其中Single为单行文本框,Multiline为多行文本框,Password为密码框。该属性的默认值为Single。 • Rows:当TextMode属性为Multiline(多行文本框)时,Rows属性才有效。用于给出或设置控件的高度,单位为行。 • Columns:给出或设置控件的宽度,单位为字符。 • MaxLength:给出或设置控件最多可容纳的字符数。 • ReadOnly:给出或设置控件内容的只读性。 • Wrap:给出或设置当控件内容超过控件宽度时,是否自动换行。 • AutoPostBack:默认值为False。当该属性设为True时,表示当浏览器中的TextBox控件内容变化后,会将Web表单立即回传给服务器,无须等待用户通过单击提交按钮进行表表单提交。 • l事件说明: • OnTextChanged:指定控件中的内容与最近一次上传的内容不同时,所触发事件过程的名称。
课堂实训4 • 文本框控件TextBox的使用。将输入的文本信息保存到多行文本框中。 • 操作步骤: • (1)新建一个名称为“4-4”的项目,并将该项目下的默认窗体改名为“ex4-4.aspx”。 • (2)界面设计。 • (3)编写事件处理程序
3.3.4图像框控件Image • Image控件用于在网页中显示图片。由于它本身不具有将网页回传至服务器的能力,也就是说它没有任何用户触发的事件。 • l语法声明: • <ASP:Image Runat="Server" Id="…" ImageUrl="…" AlternateText="…" ImageAlign="…"/> • l属性说明: • AlternateText:用于给出或设置替换文本。 • ImageAlign:指定图形相对于其周围文字的排列方式。可取值有:“NoSet”、“AbsBottom”、“AbsMiddle”、“BaseLine”、“Bottoom”、“Left”、“Middle”、“Right”、“TextTop”和“Top”,默认为“NoSet”。
3.3.5 超链接控件HyperLink • HyperLink控件用于建立动态的文本或图片超链接。 • l语法声明: • <ASP:HyperLink Runat="Server" Id="…" NavigateUrl="…" Text="…" ImageUrl="…" Target="…" /> • l属性说明: • NavigateUrl:给出或设置所链接文档的URL。 • ImageUrl:给出或设置超链接锚点图片源。 • Text:给出或设置超链接锚点文本。 • Target:给出或设置目标框架(或窗口)名称。例如将Target设为“_blank”,可将所链接的文档显示在新窗口中。
3.3.6 复选与单选控件 • 1、复选控件CheckBox与CheckBoxList • (1)CheckBox控件 • 用于建立能够在选中和清除两种状态间切换的复选框。当选定该控件时,其Checked属性为True。 • l语法声明: • <ASP:CheckBox Runat="Server" Id="…" Text="…" AutoPostBack="True | False" • Checked="True | False" TextAlign="…" OnCheckedChanged="…" …/> • (2)CheckBoxList控件 • CheckBoxList控件的作用与CheckBox控件类似,它是以成组的形式显示复选框。其功能比CheckBox更为强大,能支持以数据连接方式建立列表。 • l语法声明: • <ASP:ChecktBoxList Runat="Server" Id="…" AutoPostBack="True | False" • RepeatColumns="…" RepeatDirection="…" RepeatLayout="…" TextAlign="…" • OnSelectedIndexChanged="…" …> • <ASP:ListItem Value="…" Selected="…">文本</ASP:ListItem> • …… • <ASP:ListItem Value="…" Selected="…">文本</ASP:ListItem> • </ASP:ChecktBoxList>
3.3.6 复选与单选控件 • 2、单选控件RadioButton与RadioButtonList • (1)RadioButton控件用于创建单选钮。 • l语法声明: • <ASP:RadioButton Runat="Server" Id="…" AutoPostBack="True | False" Checked="…" • GroupName="…" Text="…" OnCheckedchanged="…" … /> • (2)RadioButtonList控件。 • RadioButtonList控件的作用与RadioButton控件类似,但功能更为强大(如支持以数据连接方式建立列表等)。 • l语法声明: • <ASP:RadioButtonList Runat="Server" Id="…" AutoPostBack="True | False" • OnSelectedIndexchanged="…" … > • <ASP:ListItem Value="…" Selected="…">文本</ASP:ListItem> • …… • <ASP:ListItem Value="…" Selected="…">文本</ASP:ListItem> • </ASP:RadioButtonList>