第二章:WEB服务器控件在ASP.NET中,WebForm能容纳的对象主要是ServerControl(服务器端控件)。控件叫服务器端的,因为这些控件都是服务器端来处理的。ServerControl会在初始化的时候自动生成适合浏览器的HTML代码。这样在编写ASP.NET程序的时候,就不必考虑浏览器的兼容性问题!服务器端控件的执行过程是:先在服务器执行,根据执行结果生成html元素,然后发回给客户端浏览器。Web服务器控件位于以System.Web.UI.Webcontrols命名的空间中,并集成在ASP.NET的基本类库中,人们习惯称为Web控件。像HTML服务器控件一样,Web服务器控件也是被创建于服务器上并且需要runat="server"属性来工作。然而,Web服务器控件不是必须要映射到已存在的HTML元素,它们可以表现为更复杂的元素。2.1WEB服务器控件的格式Web服务器控件有两种具体格式。(1)所有属性均定义在一对尖括号“<>”内,并以“asp:”作为前缀标志,以“/”作为结束标志。其格式形式为:
注意:属性之间要空格分开。(2)除了Text属性外,其他属性均定义在一对尖括号<>内,并以“asp:control_name”作为前缀标志,以“”作为结束标志,Text属性放在尖括号和结束标志的中间。其格式形式为:
text注意:control_name为控件名。示例:2.2服务器控件的类型ASP.NET提供了两种不同类型的服务器控件:HTML服务器控件和Web服务器控件。这两种类型的控件大不相同,在使用ASP.NET时,就会看出重点是Web服务器控件。这并不是说,HTML服务器控件没有用,它们提供了许多功能,其中一些功能Web服务器控件也没有。2.3用服务器控件建立页面使用服务器控件构建ASP.NET页面有两种方式。可以可视化地把控件拖放到设计界面上,操纵该控件的行为。也可以直接通过输入代码来处理服务器控件。2.3.1在设计界面上使用服务器控件高级编程)VisualStudio2005允许可视化地把控件拖放到设计界面上,可视化地创建ASP.NET页面。要获得这个可视化的设计选项,可以在查看ASP.NET页面时,单击IDE底部的Design选项卡。在这个视图中,可以把光标放在希望控件出现的地方,再在VisualStudio的Toolbox窗口中双击需要的控件。在页面的Design视图中,可以突出显示一个控件,该控件的属性就会显示在Properties窗口中。例如,在图4-1中,在设计面板上选择Button控件,其属性就显示在右下角的Properties窗口中。图4-1在这个窗口中修改属性,就会改变突出显示的控件的外观或行为。所有的控件都继承了一个特定的基类(WebControl),所以还可以同时突出显示多个控件,一次改变这些控件的基本属性。在选择控件时,需要按住Ctrl键。2.3.2在Source界面使用服务器控件与Design视图一样,页面的Source视图也允许把控件从Toolbox拖放到代码页面上。例如,把一个TextBox控件拖放到代码页面上,与把它拖放到设计界面上的效果相同:也可以在Source视图中突出显示一个控件,或把光标放在该控件的代码语句上,Properties窗口就会显示该控件的属性。现在就可以直接应用VisualStudio的Properties窗口中的属性了,这些属性会动态添加到控件的代码中。2.3.3处理服务器控件的事件例如,窗体上按钮的一个常见事件是Button_Click,如程序清单所示。处理按钮单击事件protectedvoidButton1_Click(objectsender,EventArgse){//Codeactionshere}程序清单中的事件仅在终端用户单击了窗体上的按钮时才触发,该窗体具有Button1_Click的OnClick属性值。所以事件处理程序不仅存在于ASP.NET页面的服务器端代码上,还使用相关的ASP.NET页面标记中的服务器控件的OnClick属性关联起来,如下面的代码所示:如何触发服务器控件的这些事件?有两种方式。第一种方式是在Design视图中打开ASP.N...