ASP.NET 控件时ASP.NET架构的基本组成部分。从本质上讲,ASP.NET是.NET Framework中的类,可以在ASP.NET页面上映射控件声明。然后,那些类根据他们的 属性,为控件创建HTML。由于类的对象是在运行时间与页面一起被编译的,因此开 发人员可以按照面向对象的方式访问那些对象,例如读取和更改他们的属性、调用他 们的方法和处理服务器端的事件等。在传统ASP程序设计中,服务端的VBScript代码 和HTML标记是混和在一起的,容易引起混淆。而在ASP.NET程序设计中,由于能够 以面向对象的方式访问对象,因此可以创建结构更好、可读性更强的代码。
1、 ASP.NET中的服务器控件 ASP.NET提供了许多不同的服务器控件,他们可以分为以下几类: <1> HTML Server Controls(HTML 服务器控件): 这些控件是包含标准HTML标记的 类,它由runat="server"属性进行声明。 除了runat="server"属性之外,控件的其他声明 不变,但是通过代表控件的对象, 可以在代码中访问、读取、更改控件的属性。例如, 支持runat="server"属性的 3个标记是<a>、<select>和<input>。
<2> ASP.NET Web Form Controls: 这是另一组复制基本HTML标记(例如<input>、<a>、<select> 和<button>等)的功能的控件, 但是这组控件中的属性和方法是一致的,并且属性和方法的名字有一定的意义,因此, 开发人员就可以比较容易地声明和访问他们。HyperLink、 ListBox和Button等都是这类控件。
<3> ASP.NET list Controls(ASP.NET 列表控件): 这组控件具有一致的命名规则,并且扩展了基本Web Form Control的属性。它们可以与 数据源进行绑定(例如数据库、XML文件和数组等),并且能够以各种各样的方式(例如 列表、表格、网格等)显示数据。
<4> ASP.NET Templated Controls (ASP.NET模板控件): 这组控件为数据源中的每一个 数据项而重复模板。他们允许您使用不同的模板去显示记录、编辑记录和强调重要 的记录,并且还能够对分页的支持。
<5> ASP.NET Rich Controls : 通过设置这类控件的一些属性, 可以让这类高级控件生成HTML和JavaScript代码。 这类控件的杰出代表就是Calendar控件,本章的内容中将对这类控件进行详细讨论。
<6> ASP.NET Validation Controls 通过页面上声明这类控件,可以很容易地根据一定的标准或用户定义的规则(例如输入 不能为空、输入必须是数字、输入的数字必须大于某个值等)对相关的输入进行验证。
//set the table''''s styles table1.Border =1; table1.CellPadding =3; table1.CellSpacing =3; table1.BorderColor ="red"; for(int i=1; i<=5; i++) { //create a new row and set its background color row = new HtmlTableRow(); row.BgColor =(i%2==0 ?"lightyellow" : "lightcyan");
for(int j=1; j<=4; j++) { //create a cell and set its text cell = new HtmlTableCell(); cell.InnerHtml ="Row :" + i.ToString()+ "<br>Cell:"+j.ToString();
//add the cell to the current row row.Cells.Add(cell); }
//add the row to the table table1.Rows.Add(row); }
//add the table to page Page.Controls.Add(table1);