第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控件一样,不同之处在于它是类似超级链接的文字接口。