1、 21.1 ASP.NET程序简介程序简介 21.2 理解理解ASP.NET项目项目 21.3 管理管理ASP.NET项目项目 21.4 ASP.NET服务器控件的使用服务器控件的使用 21.5 数据控件使用数据控件使用 21.6 小结小结21.1 ASP.NET程序简介ASP.NET创建创建Web应用程序,因拥有强大应用程序,因拥有强大的的.NET类库支持,因此类库支持,因此ASP.NET使用起来使用起来比其他技术更为方便和全面。比其他技术更为方便和全面。Web服务器ASP.NET引擎后端数据库.NET Framework其他资源客户端请求.aspx.aspx文件处理的结果处理结果经服务器返
2、回客户端,回复请求客户端21.1 ASP.NET程序简介Web服务器可采用:服务器可采用:Windows内部的内部的IIS(Internet Information Service,互联网信息服务),且需要是,互联网信息服务),且需要是5.0以以上版本。上版本。IIS Web服务器需要手动安装服务器需要手动安装.NET FrameWork自带的(集成环境)自带的(集成环境)Web服服务器。务器。.NET FrameWork自带的自带的Web服务器是服务器是自动安装的。自动安装的。ASP.NET网页是网页是Code-Behind结构,即页结构,即页面和业务逻辑分离。面和业务逻辑分离。21.2 理
3、解ASP.NET项目 21.2.1 创建创建ASP.NET新的项目新的项目 步骤:步骤:在菜单栏中单击在菜单栏中单击【文件文件】|【新建新建】|【网站网站】命令,在弹出的命令,在弹出的【新建网站新建网站】窗口中选择窗口中选择“ASP.NET网站网站”。【位置位置】下拉列表框用于设置站点存放的位下拉列表框用于设置站点存放的位置:置:“文件系统文件系统”和和“HTTP”。若选择。若选择“文文件系统件系统”,即使用集成环境提供的,即使用集成环境提供的Web服务服务器,在后面下拉列表框中选择站点所在文件器,在后面下拉列表框中选择站点所在文件夹路径;若选择夹路径;若选择“HTTP”,则将站点放置在,则将
4、站点放置在IIS服务器上服务器上。21.2.1 创建ASP.NET新的项目创建的项目文件夹中,应包含如下内容。创建的项目文件夹中,应包含如下内容。文件夹文件夹App_Data,包含数据文件,如,包含数据文件,如XML文文件或数据库等。件或数据库等。Default.aspx是是Web程序的第一个可视化页面。程序的第一个可视化页面。Default.aspx.cs是使用是使用C#编写的后台代码文编写的后台代码文件件Default.aspx。web.config文件是在根目录下自动创建的,它文件是在根目录下自动创建的,它是一个是一个XML文本文件,用于存储文本文件,用于存储ASP.NET Web应用程
5、序的配置信息。应用程序的配置信息。其他文件,如其他文件,如resx资源文件。资源文件。21.2.2 打开已有的项目 打开已有的项目,可在菜单栏中单击打开已有的项目,可在菜单栏中单击【文文件件】|【打开打开】|【网站网站】命令,弹出命令,弹出【打打开网站开网站】窗口,选择网站的位置,单击窗口,选择网站的位置,单击【打开打开】按钮。按钮。21.3 管理ASP.NET项目21.3.1 添加添加Web窗体窗体添加添加Web窗体可通过右击项目名称,在右键菜单窗体可通过右击项目名称,在右键菜单中单击中单击【添加新项添加新项】命令,在弹出的命令,在弹出的【添加新项添加新项】的窗口中选择的窗口中选择“web窗
6、体窗体】”即可将即可将Web窗体添窗体添加到项目中加到项目中。该窗体名称可以修改为新建的该窗体名称可以修改为新建的Web窗体名称。其窗体名称。其中,中,【将代码放在单独的文件中将代码放在单独的文件中】复选框用于设复选框用于设置置Visual Studio 2008自动创建一个与该文件相自动创建一个与该文件相关的关的Default.aspx.cs文件,并将后台代码放在该文件,并将后台代码放在该文件中。如果不勾选该复选框,则只会创建一个文件中。如果不勾选该复选框,则只会创建一个Default.aspx文件,且后台代码也放置在该文件文件,且后台代码也放置在该文件中。如果勾选中。如果勾选【选择母版页选
7、择母版页】复选框,则该复选框,则该Web窗体的页面内容将使用母版页窗体的页面内容将使用母版页 21.3.2 母版页所谓母版,就是可以直接引用并在其中进所谓母版,就是可以直接引用并在其中进行添加或修改的样板行添加或修改的样板。母版页的工作原理:母版页由两部分组成,母版页的工作原理:母版页由两部分组成,即母版页本身和内容页。单个母版页可以即母版页本身和内容页。单个母版页可以为应用程序中的一些页定义所需的外观和为应用程序中的一些页定义所需的外观和标准行为,它可以包括静态文本、标准行为,它可以包括静态文本、HTML 元素和服务器控件的预定义布局,然后包元素和服务器控件的预定义布局,然后包含要显示内容的
8、内容页。含要显示内容的内容页。在项目中,母版页是在项目中,母版页是MasterPage.master文件,由特殊的文件,由特殊的Master指令识别指令识别。21.3.2 母版页创建母版页创建母版页右击项目名称,在右键快捷菜单中单击右击项目名称,在右键快捷菜单中单击【添加新添加新项项】命令,在弹出的命令,在弹出的【添加新项添加新项】的窗口中选择的窗口中选择“母版页母版页”即可将母版页添加到项目中即可将母版页添加到项目中。创建后的母版页会自动添加两个创建后的母版页会自动添加两个ContentPlaceHolder控件,可根据需要添加或删控件,可根据需要添加或删除除ContentPlaceHold
9、er控件。控件。添加内容页,可通过右击项目名称,在右键快捷添加内容页,可通过右击项目名称,在右键快捷菜单中单击菜单中单击【添加新项添加新项】命令,在弹出的命令,在弹出的【添加添加新项新项】窗口中选择窗口中选择“Web窗体窗体”,并勾选,并勾选【选择选择母版页母版页】复选框,在随即弹出的复选框,在随即弹出的【选择母版页选择母版页】窗口中选择母版页文件。窗口中选择母版页文件。21.4 ASP.NET服务器控件的使用ASP.NET中的控件都是中的控件都是System.Web.UI命命名空间里的名空间里的Control类的派生类。在类的派生类。在ASP.NET中可以使用中可以使用Web控件、控件、HT
10、ML控控件、数据控件和验证控件等内置控件,此件、数据控件和验证控件等内置控件,此外还可以通过用户自定义控件来增强外还可以通过用户自定义控件来增强ASP.NET控件功能。控件功能。21.4.1 内置控件ASP.NET服务器中的内置控件包括服务器中的内置控件包括HTML控件、控件、Web控件、数据控件和验证控件等。控件、数据控件和验证控件等。HTML控件:控件:HTML控件在控件在System.Web.UI.HtmlControls命名空间中定义,命名空间中定义,属于属于HTML标记。标记。HTML控件的使用规范与控件的使用规范与HTML标记的使用类似,比较简单标记的使用类似,比较简单。注意:注意
11、:HTML控件一般应用于页面设计。服务器控件一般应用于页面设计。服务器端无法使用端无法使用ASP.NET网页中的网页中的HTML控件,将控件,将HTML控件转换为控件转换为HTML服务器控件后,就可以在服务器控件后,就可以在服务器端使用。服务器端使用。21.4.1 内置控件Web服务器控件:包含了服务器控件:包含了HTML服务器控件服务器控件的一些属性,但要比的一些属性,但要比HTML服务器控件更为服务器控件更为抽象,也具有更多内置功能,因而抽象,也具有更多内置功能,因而Web服服务器控件更适合于编程应用。务器控件更适合于编程应用。Web 服务器控件不仅包括窗体控件,如按服务器控件不仅包括窗体
12、控件,如按钮和文本框,而且还包括特殊用途的控件,钮和文本框,而且还包括特殊用途的控件,如日历、菜单和树形视图控件。如日历、菜单和树形视图控件。包括:包括:Button、TextBox、CheckBox、CheckBoxList、RadioButton、RadioButtonList、Table、HyperLink、DropDownList、ListBox。21.4.2 增强控件ASP.NET允许自行创建控件来添加功能。允许自行创建控件来添加功能。可以创建两种控件,即用户控件和自定义可以创建两种控件,即用户控件和自定义控件。控件。用户控件实际就是一个控件容器,可以在用户控件实际就是一个控件容器,
13、可以在其中放置其中放置ASP.NET服务器内置控件,并定服务器内置控件,并定义属性和方法。义属性和方法。自定义控件则是重新定义的一个全新控件,自定义控件则是重新定义的一个全新控件,需要自行编写类需要自行编写类。21.4.2 增强控件用户控件的创建用户控件的创建在项目中新建:和在项目中新建:和ASP.NET网页的创建相同,右击网网页的创建相同,右击网站名,在右键快捷菜单中单击站名,在右键快捷菜单中单击【添加新项添加新项】|【Web用用户控件户控件】命令,按照步骤完成创建操作。创建成功后命令,按照步骤完成创建操作。创建成功后可以看到该文件的扩展名为可以看到该文件的扩展名为.ascx。将将Web窗体
14、页转换为用户控件:要将窗体页转换为用户控件:要将Web窗体页转换窗体页转换成用户控件,只需对页面略加改动即可。成用户控件,只需对页面略加改动即可。用户控件的使用用户控件的使用用户控件创建完成后必须在用户控件创建完成后必须在ASP.NET网页中被引用才网页中被引用才能使用,使用方法与其他能使用,使用方法与其他ASP.NET服务器控件相同。服务器控件相同。用户控件显示在解决方案资源管理器中,因而在使用用户控件显示在解决方案资源管理器中,因而在使用时将其文件名直接拖动到网页中即可。时将其文件名直接拖动到网页中即可。21.4.3 验证控件验证控件是属于验证控件是属于Web控件的一类特殊控件的一类特殊子
15、集,包含子集,包含5种验证控件。种验证控件。CompareValidator控件:用于将输入控件中控件:用于将输入控件中的数据与一个常数或其他控件的值相比较,以的数据与一个常数或其他控件的值相比较,以确定两者是否存在大于、小于、等于、大于等确定两者是否存在大于、小于、等于、大于等于或小于等于关系。于或小于等于关系。CustomValidator控件:作用为使用自定义函控件:作用为使用自定义函数验证输入控件中的数据数验证输入控件中的数据。RegularExpressionValidator控件:用于验控件:用于验证输入控件的数据是否与某个正则表达式规定证输入控件的数据是否与某个正则表达式规定的模
16、式相匹配,可验证邮政编码、电话号码和的模式相匹配,可验证邮政编码、电话号码和email地址等。地址等。21.4.3 验证控件 RangeValidator控件:用于验证输入控件输入控件:用于验证输入控件输入的数据是否在规定范围之内。的数据是否在规定范围之内。RequiredFieldValidator控件:用于验证输入控件:用于验证输入控件是否有输入数据,即当输入控件失去焦点控件是否有输入数据,即当输入控件失去焦点时若用户未输入数据,将不能通过验证。时若用户未输入数据,将不能通过验证。CompareValidator控件控件 示例:示例:21.5 数据控件使用数据控件可分为两类,即数据源控件和
17、数据绑定数据控件可分为两类,即数据源控件和数据绑定控件控件。常用的数据源控件如下。常用的数据源控件如下。AccessDataSource:用于处理:用于处理Access数据库。数据库。LinqDataSource:用于处理:用于处理LINQ查询数据。查询数据。ObjectDataSource:用于处理中间层对象的数据。:用于处理中间层对象的数据。SiteMapDataSource:用于处理站点地图数据。:用于处理站点地图数据。SqlDataSource:用于处理:用于处理SQL Server、OLE DB、ODBC 或或Oracle数据库。数据库。XmlDataSource:用于处理:用于处理
18、XML文件。文件。21.5 数据控件使用 常用的数据绑定控件如下。常用的数据绑定控件如下。列表控件:以各种列表形式呈现数据。列表控件:以各种列表形式呈现数据。AdRotator:使用:使用AdRotator控件在网页上显示随机选定的广告控件在网页上显示随机选定的广告横幅。横幅。DataList:以表格的形式呈现数据,该数据使用模板显示。:以表格的形式呈现数据,该数据使用模板显示。DetailsView:以表格布局一次显示一个记录,并允许编辑、删除:以表格布局一次显示一个记录,并允许编辑、删除和插入记录,并可翻阅多个记录。和插入记录,并可翻阅多个记录。FormView:使用用户定义的模板显示数据
19、源中单个记录的值。:使用用户定义的模板显示数据源中单个记录的值。使用使用 FormView 控件可以编辑、删除和插入记录。控件可以编辑、删除和插入记录。GridView:以表格的形式显示数据,并支持在不编写代码的情况:以表格的形式显示数据,并支持在不编写代码的情况下对数据进行编辑、更新、删除、排序和分页。下对数据进行编辑、更新、删除、排序和分页。ListView:使用用户定义的模板显示数据源的值。:使用用户定义的模板显示数据源的值。ListView 控件控件使用户能够选择、排序、删除、编辑和插入记录。使用户能够选择、排序、删除、编辑和插入记录。Menu:在菜单的形式呈现数据。:在菜单的形式呈现
20、数据。Repeater:以列表的形式呈现数据。:以列表的形式呈现数据。TreeView:以可展开节点的树形式呈现数据。:以可展开节点的树形式呈现数据。21.5.1 数据源控件 以创建以创建SqlDataSource数据源为例,具体数据源为例,具体步骤见书步骤见书21.5.1。21.5.2 GridView控件 GridView控件以表格的形式显示数据,每行表示一条记控件以表格的形式显示数据,每行表示一条记录,每列表示一个字段,而且提供了列值自动排序、查找录,每列表示一个字段,而且提供了列值自动排序、查找数据以及编辑或删除单个记录的功能。数据以及编辑或删除单个记录的功能。在在GridView控件
21、中,通过设置其控件中,通过设置其DataSourceID属性来为属性来为其设置数据源名称。通过其设置数据源名称。通过GridView控件可以设置行的布控件可以设置行的布局、颜色、字体和对齐方式,以及行中包含的文本、数据局、颜色、字体和对齐方式,以及行中包含的文本、数据的显示和列的格式。默认情况下,的显示和列的格式。默认情况下,GridView控件在只读控件在只读模式下显示数据,该控件也支持编辑模式,可对数据进行模式下显示数据,该控件也支持编辑模式,可对数据进行修改、添加或删除等操作。需要注意的是,修改、添加或删除等操作。需要注意的是,GridView控控件是通过调用件是通过调用SqlDataS
22、ource来实现修改、添加或删除等来实现修改、添加或删除等功能的。另外,功能的。另外,GridView控件支持在不需要任何编程的控件支持在不需要任何编程的情况下进行列排序,情况下进行列排序,GridView控件还支持分页功能。控件还支持分页功能。21.5.3 Repeater控件和DataList控件Repeater控件和控件和DataList控件都是用于显示被绑控件都是用于显示被绑定到此控件的数据项的一个循环序列。定到此控件的数据项的一个循环序列。Repeater控件可以被绑定到数据库表、控件可以被绑定到数据库表、XML文件文件或者任何数据项序列,并能够能够使用自定义的或者任何数据项序列,并
23、能够能够使用自定义的模板显示各个项的布局。模板显示各个项的布局。Repeater控件必须要定控件必须要定义模板。该控件不支持可视化编辑模板,因此添义模板。该控件不支持可视化编辑模板,因此添加模板需在源代码里添加。加模板需在源代码里添加。DataList控件用于创建数据列表控件。它也是通控件用于创建数据列表控件。它也是通过模板来格式化所显示数据的,但其模板相对过模板来格式化所显示数据的,但其模板相对Repeater控件较多,而且还可以为控件的不同区控件较多,而且还可以为控件的不同区域分别指定不同的样式。域分别指定不同的样式。21.5.4 DetailView控件和FormView控件Detail
24、View控件和控件和FormView控件都可以一次呈控件都可以一次呈现一条表格形式的记录,并提供查看多条记录以现一条表格形式的记录,并提供查看多条记录以及插入、更新和删除记录的功能。它们之间的不及插入、更新和删除记录的功能。它们之间的不同之处为,同之处为,DetailView控件使用表格布局,在该控件使用表格布局,在该布局中,数据记录的每个字段都显示为控件中的布局中,数据记录的每个字段都显示为控件中的一行。而一行。而FormView控件不指定用于显示记录的控件不指定用于显示记录的预定义布局,而将创建一个模板,其中包含用于预定义布局,而将创建一个模板,其中包含用于显示记录中的各个字段的控件。该模
25、板中包含用显示记录中的各个字段的控件。该模板中包含用于设置窗体布局的格式、控件和绑定表达式,因于设置窗体布局的格式、控件和绑定表达式,因而而FormView控件的样式更为丰富。控件的样式更为丰富。21.6 小结本章主要介绍了本章主要介绍了ASP.NET的基本知识。首的基本知识。首先针对先针对Microsoft Visual Studio 2008创建创建的的ASP.NET网站项目进行了简单介绍,使网站项目进行了简单介绍,使读者对其环境有一个初步的认识和熟悉,读者对其环境有一个初步的认识和熟悉,然后介绍了一些创建然后介绍了一些创建Web窗体的方法。本窗体的方法。本章重点介绍了章重点介绍了ASP.NET的服务器控件,除的服务器控件,除了了HTML服务器控件、服务器控件、Web服务器控件验证服务器控件验证控件、数据控件等内置控件外,还介绍了控件、数据控件等内置控件外,还介绍了具有增强具有增强ASP.NET功能的用户自定义控件功能的用户自定义控件的使用方法。对于数据控件,本章介绍了的使用方法。对于数据控件,本章介绍了数据源控件和数据绑定控件的使用。数据源控件和数据绑定控件的使用。