版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章ASP.NET数据库编程ASP.NET(C#)动态网站开发案例教程(第2版)知识点数据源控件数据绑定控件ADO.NET数据库访问技术5.1数据源控件
ASP.NET2.0之后在ADO.NET的数据模型基础上进行了进一步的封装和抽象,提出了一个新的概念——数据绑定,使用该技术可以使Web应用程序轻松地与数据库进行交互。简单说,数据绑定就是将数据源中的数据取出来,显示在页面的各种控件上,用户可以通过这些控件查看和修改数据。
数据源控件用于实现从不同数据源中获取数据的功能,它可以设置连接信息、查询信息、参数和行为,并向数据界面控件提供数据,达到用可视化方式设计网站程序的目的,最大限度的减少程序员的工作量,提高编程效率。数据源控件被放置在VisualStudio2008工具箱的“数据”选项卡中,分别以XXXDataSource命令(如SqlDataSource、AccessDataSource等),数据源控件的类型和作用如表5-1所示。5.1.1SqlDataSource数据源控件1.SqlDataSource作用用于连接SQLServer数据库,向数据界面控件提供数据源,实现数据库应用程序的可视化设计。2.SqlDataSource主要属性(1)ConnectionString:数据库连接字符串;(2)ProviderName:命名空间(System.Data.SqlClient)
(3)FilterExpression:设置Select命令的数据过滤字符串,仅对DataSet数据集对象起作用。(4)SelectQuery:选择查询。(5)InsertQuery:插入查询。(6)DeleteQuery:删除查询。(7)UpdateQuery:更新查询。5.1数据源控件
3.SqlDataSource主要事件(1)Seleted:完成选择操作后触发Seleted事件。(2)Seleting:完成选择操作前触发Seleting事件。(3)Inserted:完成插入操作后触发Inserted事件。(4)Inserting:完成插入操作前触发Inserting事件。(5)Deleted:完成删除后触发Deleted事件。(6)Deleting:完成删除前触发Deleting事件。(7)Updated:完成更新操作后触发Updated事件。(8)Updating:完成更新操作前触发Updating事件。(9)Filtering:在筛选前触发Filtering事件。(10)DataBinding:在数据绑定前触发DataBinding事件。5.1数据源控件
4.配置SqlDataSource数据源的步骤【例5-1】用数据源控件SqlDataSource与数据表控件GridView显示SQLServer数据库Alumni_sys中系部编码表tblDepart记录内容。如图5-1所示。5.1数据源控件
图5-1显示系部编码表tblDepartSqlDataSource(1)新建空白解决方案ex5_1与网站ex5_1。(2)按图5-1要求,添加母版页MasterPage.master,及所用图标目录Images。(3)在网站ex5_1中,用母版页MasterPage.master创建SqlDataSource.aspx网页。(4)在SqlDataSource.aspx网页中添加表格控件Table,在表格中添加一个GridView控件和一个SqlDataSource控件。设置属性如下:5.1数据源控件
控件ID属性GridView1gv_Dept自动套用格式:彩色型AllowPaging=truePageSize=5设置字段名为:系部编码、系部名称、系主任,如图5-2所示选择数据源:sds_DeptSqlDataSourcesds_Dept按图5-3~图5-9步骤设置属性5.1数据源控件
图5-2修改GridView字段名称(5)设置SqlDataSource数据源控件sds_Dept的属性①单击sds_Dept的智能标记|配置数据源|新建连接|出现添加连接对话框,如图5-3所示。②添加连接(如图5-4所示)数据源(类型):选择MicrosoftSQLServer,单击“确定”按钮进入如图5-4所示的界面。选择服务器名:(Local)表示本地数据库服务器;登录到服务器:使用Windows身份验证;5.1数据源控件
图5-3配置数据源与更改数据源对话框图5-4添加连接对话框连接到一个数据库:选择或输入数据库名Alumni_sys;单击“测试连接”按钮测试连接是否成功。单击确定|出现配置数据源对话框,如图5-5所示|单击连接字符串按钮|出现连接字符串ConnectionString为:DataSource=(Local);InitialCatalog=Alumni_sys;IntegratedSecurity=True单击下一步|将连接字符串保存到应用程序配置文件中去,如图5-6所示。5.1数据源控件
图5-5连接字符串内容图5-6将连接字符串保存到应用程序配置文件中③选择数据表
在图5-6中单击“下一步”按钮,配置Select语句,指定来自表或视图的列,如tblDepart表中的Dpt_Id,Dpt_Name和Dpt_Head列,如图5-7所示。单击“下一步”按钮,测试查询,如图5-8所示,单击“完成”按钮即完成了数据源控件的配置。5.1数据源控件
图5-7配置Select语句图5-8测试查询④输入SQL语句
上述选择数据表tblDepart的操作也可通过Select语句实现,具体操作步骤如下:在图5-7中单击“指定自定义SQL语句或存储过程”单选按钮|下一步,进入图5-9所示界面,选择Select页,在SQL语句栏中输入:SelectDpt_Id,Dpt_Name,Dpt_HeadfromtblDept
在需要编辑、插入、删除操作时,也可输入Update、Insert、Delete语句,具体应用在后文中介绍。(6)设置SqlDataSource.aspx为起始页,运行网站程序,显示如图6.8所示。5.1数据源控件
图5-9用Select语句查询系部编码表5.1.2AccessDataSource数据源控件1.AcessDataSource作用用于连接Access数据库,向数据界面控件提供数据源,实现数据库应用程序的可视化设计。2.AcessDataSource属性(1)DataFile:设置Access数据库文件名;如DataFile=”~/App_Data/Student_sys.mdb”;(2)FilterExpression:获得或设置用来创建使用Select命令获取的数据之上的过滤的字符串,只有通过Dataset管理数据时才起作用。(3)SelectQuery:选择查询。(4)InsertQuery:插入查询。(5)DeleteQuery:删除查询。(6)UpdateQuery:更新查询。5.1数据源控件
3.AcessDataSource事件(1)Seleted:完成选择操作后触发Seleted事件。(2)Seleting:完成选择操作前触发Seleting事件。(3)Inserted:完成插入操作后触发Inserted事件。(4)Inserting:完成插入操作前触发Inserting事件。(5)Deleted:完成删除后触发Deleted事件。(6)OnDeleting:完成删除前触发Deleting事件。(7)OnUpdated:完成更新操作后触发Updated事件。(8)OnUpdating:完成更新操作前触发Updating事件。(9)OnFiltering:在筛选前触发Filtering事件。(10)OnDataBinding:在数据绑定前触发DataBinding事件。5.1数据源控件
4.配置数据源的步骤配置数据源的步骤与SqlDataSource控件类似,此处不再重复。5.1.3XmlDataSource数据源控件1.XmlDataSource作用
XmlDataSource控件使得XML数据可用于数据绑定控件。可以通过配置XmlDataSource控件从XML文件、返回XML数据的WEB文件,包含XML数据的字符串变量以及内存中XmlDataDocument对象类检索数据。由于XmlDataSource控件不支持Delete、Insert和Update等方法,因此不能用于更新XML数据。2.XmlDataSource控件的主要属性(1)DataFile:Xml文件的名称(包含路径)。(2)Data:内联Xml,在DataFile属性没有指定时使用。(3)TransformFile:Xml转换文件名称(包含路径)。(4)Transform:内联Xml转换,在Transformfile未指定时使用。5.1数据源控件
3.XmlDataSource控件的使用(1)假设存在一个Xml数据源文件books.xml,代码如下:<?xmlversion="1.0"encoding="utf-8"?><books> <languagebooks> <booktitle="C语言程序设计"author="谭浩强"/> <booktitle="JAVA程序设计"author="黄能耿"/> <booktitle="汇编语言"author="张华涛"/> </languagebooks> <securitybooks> <booktitle="网络安全技术"authos="肖颖"/> </securitybooks></books>(2)在网页中添加XmlDataSource控件xds_Book,选择“智能标记”中“配置数据源”命令,通过浏览选择数据文件books.xml。5.1数据源控件
(3)在页面中添加TreeView控件,并设置其数据源为xds_Book控件,则TreeView就显示了Xml数据中的内容。页面代码如下:<body><formid="form1"runat="server"><div><asp:XmlDataSourceID="XmlDataSource1"runat="server"DataFile="~/Book.xml"></asp:XmlDataSource><asp:TreeViewID="TreeView1"runat="server"DataSourceID="xds_Book"><DataBindings><asp:TreeNodeBindingDataMember="book"TextField="title"/></DataBindings></asp:TreeView></div></form></body>5.1数据源控件
5.1.4SiteMapDataSource数据源控件1.SiteMapDataSource作用
SiteMapDataSource控件是ASP.NET中专门用于连接和访问站点地图文件(.sitmap)的数据源控件,并可以将访问到的数据应用到网站导航控件中去。5.1数据源控件
2.SiteMapDataSource主要属性(1)ShowStartingNode:true:表示显示根节点;false:表示不显示根结点(2)StartingNodeUrl:设置站点地图文件地址(3)StartingNodeOffest:用于设置起始节点的偏移量:
-1:表示从父节点读取数据;
0:表示从当前节点读取数据;
1:表示从第一个子节点读取数据,以此类推。(4)StartFromCurrentNode:true:表示从当前页面所在节点位置开始读取节点及其子节点数据。5.2数据绑定控件
数据源控件只负责管理与实际数据存储源的连接,并不能呈现任何用户界面,要将数据显示出来,需要数据绑定控件。数据绑定控件是将数据作为标记向发出请求的客户端设备或浏览器呈现的图形界面控件。数据绑定控件包括GridView、DetailsView、Repeater、DataList、DropDownList等。这类控件主要提供数据显示、编辑、删除等相关用户界面。
ASP.NET中数据绑定的步骤如下:(1)使用数据源控件连接数据库,并返回数据集合。(2)通过DataSourceID这一重要属性(所有的数据绑定控件共有的属性)将数据源控件和数据绑定控件“连接”起来,可以直接设置该属性,也可以编写代码实现,语法格式为:数据绑定控件ID.DataSourceID=数据源控件ID。(3)利用数据绑定控件实现数据显示、更新、删除等功能。5.2.1GridView控件的属性与方法GridView的作用
GridView控件以表格形式显示数据记录各字段内容;可对表中记录进行分页、排序、选择、修改、删除等操作;可自定义绑定、命令、超链接、复选、图片、按钮、模板字段,进行页面跳转、按钮事件、自定义模板等操作,从而大大减轻编程量。因而GridView是Web网站编程中使用最多的控件之一。
GridView控件以表格形式显示数据记录各字段内容;可对表中记录进行分页、排序、选择、修改、删除等操作;可自定义绑定、命令、超链接、复选、图片、按钮、模板字段,进行页面跳转、按钮事件、自定义模板等操作,从而大大减轻编程量。5.2数据绑定控件
2.GridView的属性(1)AllowPaging:true:允许分页;false:禁止分页。(2)AllowSorting:true:允许排序;false:禁止排序。(3)AutoGenerateDeleteButton:true:生成删除按钮;false:不生成删除按钮。(4)AutoGenerateEditButton:true:生成编辑按钮;false:不生成编辑按钮。(5)AutoGenerateSelectButton:true:生成选择按钮;false:不生成选择按钮。(6)AutoGenerateColumns:true:允许在运行时自动生成关联数据表字段。(7)DataSourceID:设置数据源控件。(8)DataKeyNames:设置数据源中的关键字段。(9)Caption:表格标题。(10)GridLines:网格线的设置:
None:未设置
Horizontal:水平线
Vertical:垂直线
Both:垂直与水平线5.2数据绑定控件
(11)ShowFooter:true:显示脚注;false:不显示脚注。(12)ToolTip:飞行提示。(13)PageSize:每页记录数。(14)PagerSettings:设置分页相关信息,其中Mode设置要使用的分页样式,取值如下:
Mode=NextPrevious:上一页与下一页按钮;
Mode=Numeric:带数字编号的链接按钮。
Mode=NextPreviousFirstLast:第一页、上一页、下一页、最后一页按钮。Mode=NumericFirstLast:带编号按钮、第一页、最后页按钮。
Position设置分页显示位置,取值如下:Position=Bottom:显示在下方;Position=Top:显示在上方;Position=TopAndBottom:同时显示在上、下方。(15)Field:字段编辑器,使用方法将在§5.2.3中详细介绍。5.2数据绑定控件
3.GridView主要事件(1)PageIndexChanged:当页面索引更改后,激活该事件。(2)PageIndexChanging:当页面索引正在更改时,激活该事件。(3)RowCommand:单击按钮字段时,激活该事件。(4)RowCancelingEdit:生成Cancel事件时,激活该事件。(5)RowDeleted:对数据源执行删除操作后,触发该事件。(6)RowDeleting:对数据源执行删除操作前,触发该事件。(7)RowEditing:对记录编辑时,触发该事件。(8)RowUpdated:执行Update命令后,激活该事件。(9)RowUpdating:执行Update命令前,激活该事件。(10)SeletedIndexChanged:选择某行后,触发该事件。(11)SeletedIndexChanging:选择某行前,触发该事件。(12)Sorted:排序后触发该事件。(13)Sorting:排序前触发该事件。5.2数据绑定控件
5.2.2GridView的基本应用
GridView控件的基本应用有数据表显示、自动套用格式、数据表分页、数据表排序、记录选择、记录删除与记录编辑。1.数据表显示(绑定数据源)①用SqlDataSource控件提供数据源GridView.DataSourceID=SqlDataSource;②用ADO.NET对象提供数据源GridView.DataSource=ds.Table[“表名”]或table;GridView.DataBind();5.2数据绑定控件
2.自动套用格式单击GridView智能按钮|自动套用格式|从选择方案框中选择控件外观样式。3.数据表分页设置AllowPaging=true:允许分页;用PageSize=页数来设置每页记录行数。用PageSetting属性来设置改变页号的选择方式。5.2数据绑定控件
4.数据表排序设置AllowSorting=true:允许排序。网页运行后,单击显示字段名,如“系部编号”,先按升序排列,再次单击显示字段名“系部编号”,则按降序排列。5.记录行的选择操作设置AutoGenerateSelectButton=true:生成选择按钮。网页运行后,单击某记录行的选择按钮,会触发SeletedIndexChanged事件,在该事件中可编写对数据的操作。6.记录行的删除操作设置AutoGenerateDeleteButton=true:生成删除按钮;在SqlDataSource控件中输入Delete语句,以当前记录的主键字段值为删除条件,网站运行后会自动执行SqlDataSource控件中输入Delete语句,删除当前记录。5.2数据绑定控件
7.记录行的编辑操作设置AutoGenerateEditButton=true:生成编辑按钮;在SqlDataSource控件中输入Update语句,以当前记录的主键字段值为编辑条件,网页程序运行后会出现编辑栏,允许用户修改当前记录各字段值,单击更新按钮,将自动执行SqlDataSource控件的Update语句,用新记录替换原记录;单击取消按钮则取消修改操作,保持原记录值不变。【例5-2】用SqlDataSource与GridView控件显示系部编码表记录,如图5-10所示。(1)新建解决方案ex5_2与网站ex5_2。(2)用母版页在网站ex5_2中创建GridView.aspx网页。(3)在GridView.aspx网页中添加SqlDataSource、GridView、TextBox控件。(4)用智能按钮设置SqlDataSource控件属性,连接SQLServer中Alumni_sys数据库,编写SQL语句实现查询、删除与修改操作。5.2数据绑定控件
图5-10系部编码表显示与编辑界面具体操作步骤如下:单击SqlDataSource1控件智能按钮|下一步|选择:指定自定义SQL语句或存储过程,如图5-9所示。在Selete页中输入Selete语句:Select*FromtblDepart在Update页中输入Update语句:UpdatetblDepartSetDpt_Name=@Dpt_Name,Dpt_Head=@Dpt_HeadWhereDpt_Id=@Dept_Id在Delete页中输入Delete语句:DeletefromtblDepartWhereDpt_Id=@Dpt_Id5.2数据绑定控件
(5)用智能按钮设置GridView控件自动套用格式为彩色型。(6)按表5-3要求设置GridView控件属性如下:表5-3GridView控件属性设置5.2数据绑定控件
属性属性值说明Caption系部编码表表格标题DataSourceIDSds_Dept通过数据源控件SqlDataSource1打开系部编码表tblDeptAllowPagingTrue允许分页PageSize5每页5条记录AllowSortingtrue允许排序,单击字段名进行升序排序,再次单击字段名则进行降序排序。AutoGenerateDeleteButtontrue生成删除按钮AutoGenerateEditButtontrue生成编辑按钮AutoGenerateSelectButtontrue生成选择按钮DataKeyNamesDept_ID设置关键字GridLinesVertical垂直线ToolTip系部编码表飞行提示PagerSettings.ModeNextPrevious用前后向箭头选择页(7)编写选择事件驱动程序
protectedvoidGridView1_SelectedIndexChanged(objectsender,EventArgse){stringstr=GridView1.SelectedRow.Cells[1].Text+",";str+=GridView1.SelectedRow.Cells[2].Text+",";str+=GridView1.SelectedRow.Cells[3].Text;TextBox1.Text=str;}(8)设置GridView.aspx网页为起始页,运行网站程序如图5-10所示。可对系部编码表可进行排序、选择、编辑、删除操作。5.2数据绑定控件
5.2.3GridView控件的高级应用
GridView的部分高级应用可通过自定义字段Field实现,用字段编辑器可定义7类字段:BoundField、HyperLinkField、CommandField、ImageField、CheckBoxField、ButtonField、TemplateField,用这7类自定义字段可实现数据绑定,超链接,选择、删除、编辑命令,显示图片,复选操作,按钮操作,模板操作等高级应用,如表5-4。5.2数据绑定控件
单击GridView控件智能按钮|编辑列|进入字段编辑器对话框,对话框内有可用字段、选定的字段与字段属性设置三栏,如图5-11所示。从可用字段栏中可以选出7种自定义字段类型,各字段类型说明见表5-4。5.2数据绑定控件
图5-11“字段编辑器”对话框【例5-3】用GridView自定义字段Field实现系部编码表、班级编码表、学生档案表的查询、选择、编辑、删除操作。1.用绑定字段(BoundField)编辑字段属性
绑定字段BoundField为默认的字段类型,其绑定的是数据源控件或ADO.NET中编写的Select语句对应的字段。在图5-11中,可用字段编码器中的绑定字段(BoundField)将系部编码表中字段名改为汉字。现通过新建系部编码表网页Dept.aspx说明如下:5.2数据绑定控件
(1)打开解决方案ex5_3与网站ex5_3。(2)在网站ex5_3中添加系部编码表网页Dept.aspx。(3)Dept.aspx网页中添加SqlDataSource、GridView控件。(4)将SqlDataSource控件的ID改为:sds_Dept,按【例5-2】中的第4步配置数据源,输入查询、编辑、删除SQL语句。(5)用智能按钮设置GridView控件自动套用格式为彩色型,设置GridView控件属性。
(6)添加绑定字段,修改字段名为系部编码、系部名称、系主任。启动字段编辑器:单击gv_Dept控件的智能按钮|编辑列|进入字段编辑器添加绑定字段:在可用字段栏中,单击BoundField前的“+”,出现Dpt_Id、Dpt_Name、Dpt_Head三个字段,选择Dept_Id后单击“添加”按钮,可在选定字段栏中添加新的绑定字段Dpt_Id,用同样方法可添加新的绑定字段Dpt_Name、Dpt_Head,如图5-11所示。5.2数据绑定控件
修改绑定字段属性:在选定的字段栏中单击Dpt_Id,可在Bounfield属性栏中修改绑定字段的属性,如将Dpt_Id字段标题HeaderText改为系部编码,将Dpt_Name与Dpt_Head字段标题改为系部名称与系主任。将每个字段的ControlStyle.Width、HeaderStyle.Width、ItemStyle.Width改为:100px。取消自动生成字段:在字段编辑器的右下方,取消自动生成字段复选框。
2.用命令字段(CommandField)实现系部编码表的选择、编辑与删除操作
GridView可以实现智能删除、修改数据等操作,这些操作除了使用【例5-2】方法外,还可使用命令字段CommandField来实现选择、编辑、删除等操作。现介绍用命令字段(CommandField)实现系部编码表的选择、编辑与删除操作的方法与步骤。5.2数据绑定控件
(1)启动字段编辑器:单击gv_Dept控件的智能按钮|编辑列|进入字段编辑器。(2)添加命令字段:在可用字段栏中,单击CommandField前的“+”,出现编辑(更新、取消)、选择、删除三个字段,选择编辑编辑(更新、取消)后单击“添加”按钮,可在选定字段栏中添加新的命令字段编辑、更新、取消,用同样方法可添加新的命令字段选择、删除。(3)修改命令字段属性:在选定的字段栏中单击编辑、更新、取消,可在Commandfield属性栏中修改命令字段的属性,如将编辑、更新、取消字段标题HeaderText改为编辑,将选择、删除字段标题改为选择、删除。(4)用上下箭头按钮将选择字段排序到首位,如图5-12所示。(5)设置Dept.aspx为起始页,运行网站程序,效果如图5-13所示。5.2数据绑定控件
图5-12用字段编辑器添加命令字段图5-13用命令按钮实现编辑、删除、选择3.用超链接字段(HyperLinkField)由系查询班级记录超链接字段HyperLinkField可实现用当前记录某字段值为跨页面传值内容,超链接到另一页面,显示字段值所规定的数据表记录内容,如用系部编码表tblDepart中机械系记录中超链接,以机械系编码“10”为参数,通过跨页面传值方式,跳转到班级页面gv_Class.aspx上,显示机械系所有班级的记录。具体操作步骤如下:5.2数据绑定控件
(1)用字段编辑器定义超链接字段HyperLinkField启动字段编辑器:单击gv_Dept控件的智能按钮|编辑列|进入字段编辑器。添加超链接字段:在可用字段栏中,选择HyperLinkField后单击“添加”按钮,可在选定字段栏中添加超链接字段HyperLinkField,如图5-14所示。修改超链接字段属性:在选定的字段栏中单击HyperLinkField,可在HyperLinkField属性栏中修改超链接字段的属性如下:DataNavigateUrlFields=Dpt_Id;DataNavigateUrlFormatString=Class.aspx?Dpt_Id={0};DataTextField=Dpt_Name;HyperText=所辖班级5.2数据绑定控件
图5-14用HyperLinkField字段实现超链接将超链接字段“所辖班级”位置上升到系主任之后,如图5-14所示。在HyperLinkField属性栏中,设置行为中的Target=_blank。(2)创建班级编码表页面Class.aspx。在网站ex5_3中,用母版页创建班级编码表页面Class.aspx。(3)在Class.aspx页面中添加数据源控件SqlDataSource1、数据表控件GridView。(4)将SqlDataSource控件的ID改为:sds_Class,按【例5-2】中的第4步配置数据源,输入查询语句如下:5.2数据绑定控件
SELECTClass_Idas班级编码,Class_Nameas班级名称,Class_Enrollas入学年份,Major_Nameas专业名称,Class_StatusAs班级状态Class_Lengthas学制,Class_Numas班级人数,Dpt_Nameas系部FROMtblClass,tblMajor,tblDepartWHEREClass_Major=Major_IdandClass_Dept=Dept_IdandClass_Dept=@Class_Dept(5)在图5-15界面中设置参数如下:参数源为QueryStringQueryStringField=Dpt_IdDefaultValue=”10”5.2数据绑定控件
图5-15定义QueryString传值参数(6)用智能按钮设置GridView控件自动套用格式为简明型,按表5-6要求设置GridView控件属性。
5.2数据绑定控件
属性属性值说明IDgv_ClassCaption班级编码表表格标题DataSourceIDsds_Class通过sds_Class打开指定系部的班级编码表tblClassAllowSortingtrue允许排序AllowPagingTrue允许分页PageSize10每页10条记录DataKeyNamesClass_Id设置关键字GridLinesVertical垂直线ToolTip班级编码表飞行提示Font.Sizesmall小字体(7)运行Dept.aspx网页,如图5-16所示,单击所属班级中的机械系,出现机械系所属班级页面Class.aspx,如图5-17所示。5.2数据绑定控件
图5-16具有命令字段与超链接字段的Dept.aspx页面图5-17机械系所属班级Class.aspx页面4.用复选字段(ChcckBoxField)显示班级编码表中毕业标志
对于数据表中的逻辑字段可通过复选字段CheckBoxField来形象展示,字段值为True的复选框被选中,字段值为False的复选框不被选中。
(1)打开gv_Class控件的字段编辑器。在“可用字段栏”中选择CheckBoxField列,单击“添加”按钮,在“选定的字段”栏中出现CheckBoxField。在CheckBoxField属性栏中设置属性如下:DataField=Class_StatusHeaderText=是否毕业(2)添加数据绑定字段“班级状态”打开“字段编辑器”对话框,在“可用字段栏”中选择BoundField列,设置其属性如下:DataField=Class_StatusHeaderText=班级状态5.2数据绑定控件
(3)编写事件驱动程序
protectedvoidgv_Class_RowDataBound(objectsender,GridViewRowEventArgse){//如果当前行市数据行则执行下列语句
if(e.Row.RowType==DataControlRowType.DataRow){//班级状态在第7列,其为“False”时改为“在校”,为“True”时改为“毕业”
if(e.Row.Cells[7].Text=="False"){ e.Row.Cells[7].Text="在校"; e.Row.Cells[7].Style.Add("color","green"); }else{ e.Row.Cells[7].Text="毕业"; e.Row.Cells[7].Style.Add("color","red"); }}}5.2数据绑定控件
(4)运行网站程序后,在班级页面上用复选框方式显示班级毕业标志。如图5-17所示。5.用图片字段(ImageField)显示校友照片
对于数据表中用于存放图片路径的字段(如tblDepart表中的Dpt_Photo、tblAlumni表中的Alu_Photo等)可使用图片字段ImageField显示对应的图像信息。在网站ex5_3中定义校友信息页面Alumni.aspx,用自定义图片字段显示校友照片,在班级页面Class.aspx定义超链接字段“班级学生”,通过超链接字段“所属班级校友”跳转到Alumni.aspx页面,显示指定班级所有校友信息。具体设计步骤如下:5.2数据绑定控件
(1)在Class.aspx中用字段编辑器定义超链接字段HyperLinkField启动字段编辑器:单击gv_Class控件的智能按钮|编辑列|进入字段编辑器添加超链接字段:在可用字段栏中,选择HyperLinkField后单击“添加”按钮,可在选定字段栏中添加超链接字段HyperLinkField。修改超链接字段属性:在选定的字段栏中单击HyperLinkField,可在HyperLinkField属性栏中修改超链接字段的属性如下:DataNavigateUrlFields=班级编码DataNavigateUrlFormatString=Alumni.aspx?Class_Id={0}DataTextField=班级名称HyperText=班级学生在HyperLinkField属性栏中,设置行为中的Target=_blank。(2)创建校友信息页面Alumni.aspx。在网站ex5_3中,用母版页MasterPage.master创建校友信息页面Alumni.aspx。(3)在Alumni.aspx页面中添加数据源控件SqlDataSource、数据表控件GridView。5.2数据绑定控件
(4)将SqlDataSource控件的ID改为:sds_Alumni,按【例6-3】中的第4步配置数据源,输入查询语句如下:SelectAlu_Noas编号,Alu_Nameas姓名,Sex_Nameas性别,Alu_Birthas出生日期,Class_Nameas班级,Alu_Ageas年龄,Alu_Photoas照片FromtblAlumni,tblSex,tblClassWhereAlu_Sex=Sex_IdandAlu_Class=Class_IdandAlu_Class=@Alu_ClassOrderByAlu_No设置参数@Alu_Class如下:参数源=QueryStringQueryStringField=Class_Id5.2数据绑定控件
(5)用智能按钮设置GridView控件自动套用格式为专业型,按表5-7要求设置GridView控件属性。5.2数据绑定控件
属性属性值说明IDgv_AlumniCaption校友信息表表格标题DataSourceIDsds_Alumni通过sds_Alumni打开指定班级的校友信息表tblAlumniAllowSortingTrue允许排序AllowPagingTrue允许分页PageSize10每页10条记录DataKeyNamesStu_Id设置关键字GridLinesVertical垂直线ToolTip校友信息表飞行提示Font.Sizesmall小字体(6)用ImageField添加校友照片字段单击gv_Alumni控件的智能按钮|编辑列|在可用字段栏中选择ImageField|单击添加按钮|在选定字段栏中出现ImageField自定义字段|在ImageField属性栏中设置属性如下:DataImageUrlField=照片;HeaderText=照片(7)用DataFormatString属性格式化出生日期字段①属性格式:DataFormatString={0:格式化字符串}。②设置出生日期格式为:DataFormatString={0:yyyy-MM-dd}。③设置方法:启动“字段编辑器”对话框,在“选定的字段”栏中选择“出生日期”,单击BoundField属性,设置属性如下:Datafield=出生日期DataFormatString={0:yyyy-MM-dd}HeaderText=出生日期HtmlEncode=false5.2数据绑定控件
5.2数据绑定控件
(8)运行Dept.aspx网页,如图5-16所示,单击“电信学院”,出现电信学院所辖班级页面Class.aspx,如图5-17所示,单击“计算机30231”班,出现计算机30231班所有校友信息的页面Alumni.aspx,如图5-18所示。图5-18校友信息Alumni.aspx页面
6.用按钮字段(ButtonField)计算学生年龄命令字段CommandField可以执行选择、编辑、删除等操作,但不能完成指定的计算任务,如计算校友的年龄等。为此,GridView控件还提供了按钮字段,专门用于执行指定的一些计算任务,如由当前日期与出生日期计算校友的年龄等。现以在校友信息页面Alumni.aspx中的gv_Alumni控件上添加按钮字段,计算校友年龄为例,来说明按钮字段的使用方法。5.2数据绑定控件
(1)打开校友信息页面Alumni.aspx。(2)在gv_Alumni控件上添加按钮字段单击gv_Alumni控件智能按钮|编辑列|进入字段编辑器|在可选字段栏中选择ButtonField|单击“添加”按钮|ButtonField出现在选定字段栏中|在ButtonField属性栏中设置属性如下:5.2数据绑定控件
ButtonType=ButtonHeaderText=计算年龄Text=按钮CommandName=Calculate_AgeControlStyle.Width=100px如图5-19所示。图5-19添加计算年龄字段(3)编写按钮事件驱动程序在Alumni.aspx页面上选择gv_Alumni控件|打开属性对话框|单击事件栏|双击RowCommand事件,如图5-20所示。编写事件驱动程序如下://引用命名空间usingSystem.Data.SqlClient;//定义连接对象con与命令对象cmdstaticstringstrCon="DataSource=(local);InitialCatalog=Alumni_sys;IntegratedSecurity=True"SqlConnectioncon=newSqlConnection(strCon);SqlCommandcmd=newSqlCommand();5.2数据绑定控件
图5-20创建RowCommand事件驱动程序
//页面加载事件驱动程序
protectedvoidPage_Load(objectsender,EventArgse){cmd.CommandType=CommandType.Text;cmd.Connection=con;cmd.CommandTimeout=15;}5.2数据绑定控件
//按钮字段事件驱动程序protectedvoidgv_Alumni_RowCommand(objectsender,GridViewCommandEventArgse){if(e.CommandName.Equals("Calculate_Age")){intindex=Convert.ToInt32(e.CommandArgument);GridViewRowrow=gv_Alumni.Rows[index];stringAlu_No=row.Cells[0].Text;con.Open();stringstrSQL="UpdatetblAlumniSetAlu_Age=Year(GetDate())-Year(Stu_Birth)whereAlu_No='"+Alu_No+"'";cmd.CommandText=strSQL;cmd.ExecuteNonQuery();con.Close();gv_Alumni.DataBind();}}5.2数据绑定控件
7.模板字段(TemplateField)(1)模板作用模板字段用于程序员自定义表格控件的布局,许多布局复杂的论坛与电子商务网站经常要用到模板字段。(2)模板属性模板属性用于设置模板的标题、记录项目、页脚等内容,取值如表5-8所示。5.2数据绑定控件
【例5-4】用模板字段设计选择系部页面Dept_Select.aspx,如图5-21所示。5.2数据绑定控件
图5-21用模板字段设计选择系部页面(1)打开解决方案ex5_3与网站ex5_3。(2)用母版页在网站ex5_3中创建选择系部页面Dept_Select.aspx。(3)在Dept_Select.aspx中添加SqlDataSource与GridView控件。(4)将SqlDataSource控件的ID改为:sds_Dept,按【例5-2】中的第(4)步配置数据源,与系部表tblDept连接。(5)将GridView控件的ID改为gv_Dept,通过智能按钮采用“红糖”套用格式,选择数据源sds_Dept,启用分页(每页3条记录),如图5-22所示。5.2数据绑定控件
图5-22用智能按钮设置GridView控件属性(6)单击编辑列,启动字段编辑器,删除“选定的字段”栏中所有字段,将模板字段TemplateField添加到“选定的字段”栏中,再将命令字段CommandField中的“选择”命令添加到“选定的字段”栏中,设置“选择”字段属性如下:HeaderText=选择系部SelectText=选择系部将“选择系部”字段提升到“选定的字段”栏的中首位。单击“确定”按钮,如图5-23所示。5.2数据绑定控件
图5-23添加模板字段与命令字段,设置命令字段属性(7)启动编辑模板对话框在图5-22中单击“编辑模板”按钮,启动模板编辑对话框,选择ItemTemplate模板,在模板中添加Table、Image、Label控件,如图5-24所示。单击lbl_DptId控件的智能按钮|编辑DataBindings|绑定到Dpt_Id,如图5-25所示。用同样方法绑定其它控件。
5.2数据绑定控件
图5-24设计制作模板图5-25选择绑定字段5.2数据绑定控件
(8)选择HeaderTemplate模板。输入“系部信息”,如图5-26所示,最后结束编辑模板。(9)设置Dept_Select.aspx为起始页,运行网站程序,效果如图5-21所示。图5-26输入模板标题5.2.4DetailsView控件1.DetailsView控件的作用DetailsView控件用于一次显示一条记录信息,如显示校友个体的详细信息等。GridView控件和DetailsView控件以主-从表的形式显示数据表中的数据。2.DetailsView控件主要属性(1)AllowPaging:true:允许分页;false:禁止分页。(2)AutoGenerateDeleteButton:true:生成删除按钮;false:不生成删除按钮。(3)AutoGenerateEditButton:true:生成编辑按钮;false:不生成编辑按钮。
(4)AutoGenerateSelectButton:逻辑值,true:生成选择按钮;false:不生成选择按钮。(5)AutoGenerateColumns:逻辑值,true:允许在运行时自动生成关联数据表字段。(6)DataSourceID:设置数据源控件。5.2数据绑定控件
(7)DataKeyNames:数据源中的关键字段。(8)Caption:表格标题。(9)GridLines:单元格之间网格线设置方式:None:未设置Horizontal:水平线Vertical:垂直线Both:垂直与水平线(10)ToolTip:飞行提示。(11)PagerSettings:设置分页相关信息,其中Mode设置要使用的分页样式,取值如下:Mode=NextPrevious:上一页与下一页按钮;Mode=Numeric:带编号的链接按钮。Mode=NextPreviousFirstLast:第一页、上一页、下一页、最后一页按钮。Mode=NumericFirstLast:带编号按钮、第一页、最后页按钮。Position设置分页显示位置,取值如下:Position=Bottom:显示在下方;Position=Top:显示在上方;Position=TopAndBottom:同时显示在上、下方。(12)Field:字段编辑器。5.2数据绑定控件
3.DetailsView控件主要事件(1)PageIndexChanged:当页面索引更改后,激活该事件。(2)PageIndexChanging:当页面索引正在更改时,激活该事件。(3)ItemCommand:生成事件时,激活该事件。(4)ItemCancelingEdit:生成Cancel事件时,激活该事件。(5)ItemDeleted:对数据源执行删除操作后,触发该事件。(6)OnItemDeleting:对数据源执行删除操作前,触发该事件。(7)OnItemEditing:生成Edit事件时,触发该事件。(8)OnItemUpdated:执行Update命令后,激活该事件。(9)OnItemUpdating:执行Update命令前,激活该事件。(10)OnSeletedIndexChanged:选择某行后,触发该事件。(11)OnSeletedIndexChanging:选择某行前,触发该事件。(12)OnModeChanged:改变模式后触发该事件。(13)OnModeChanging:改变模式前触发该事件。5.2数据绑定控件
4.DetailsView控件的应用
【例5-5】在网站ex5_3中设计校友详细信息查询页面Alu_Details.aspx,在校友信息页面Alumni.aspx中单击某校友记录,将调用Alu_Details.aspx显示该校友详细信息。(1)打开网站ex5_3与Alumni.aspx网页,在gv_Alumni控件中添加超链接字段“详细信息”,如图5-18所示,单击链接字段“详细信息”中某位校友姓名将调用Alu_Details.aspx显示该校友详细信息资料,如图5-27所示。(2)用母版页在网站ex5_3中创建校友详细信息查询页面Alu_Details.aspx。(3)在Alu_Details.aspx页面中添加SqlDataSource与DetailsView控件。5.2数据绑定控件
(4)将SqlDataSource控件的ID改为:sds_AluDetails,配置数据源,输入SQL语句如下:SelectAlu_Noas编号,Alu_Orderas班内序号,Alu_Nameas姓名,Alu_Enrollas入学时间,Sex_Nameas性别,Alu_Birthas出生日期,Nation_Nameas民族,NtvPlc_Nameas籍贯,Party_Nameas政治面貌,Alu_Healthas健康状况,Alu_Skillas特长,Alu_Cardas身份证号,Class_Nameas班级名称,Alu_ZipCodeas邮政编码,Alu_Phoneas家庭电话,Alu_Addras家庭地址,Alu_Photoas照片FromtblAlumni,tblClass,tblSex,tblNation,tblNtvPlc,tblPartyWhereAlu_Class=Class_IDandAlu_Sex=Sex_IDandAlu_Nation=Nation_IDandAlu_NtvPlc=NtvPlc_IDandAlu_Party=Party_IDandAlu_No=@Alu_No设置QueryString跨页面传送参数为Alu_No。5.2数据绑定控件
(5)将DetailsView控件的ID改为dv_AluDetails,通过智能按钮采用专业型套用格式,选择数据源sds_AluDetails,按表5-9要求设置控件属性。5.2数据绑定控件
属性属性值说明IDdv_AluDetailsCaption校友详细信息表格标题DataSourceIDsds_AluDetails通过sds_AluDetails打开指定校友的详细信息表tblAlumniAllowPagingTrue允许分页DataKeyNamesAlu_Id设置关键字GridLinesboth双线ToolTip校友详细信息飞行提示Font.Sizesmall小字体(6)设置Dept.aspx为起始页,运行网站程序,由系选班,由班选择校友,由校友打开详细信息,如图5-27所示。5.2数据绑定控件
图5-27用DetailsView控件设计校友详细信息页面5.2.5Repeater控件1.Repeater控件作用
当网站运行时,Repeater控件依次从数据源控件中读取记录,并通过模板显示记录内容。Repeater控件运行创建一个自由化窗体布局来显示多个记录。Repeater控件会为结果集的每一行数据重复标注和控件,其功能类似于便携一个围绕呈现代码的for循环的脚本。2.Repeater控件主要属性(1)DataSourceId:数据源控件的ID。(2)DataMember:在DataSet作为数据源时用于绑定的表中视图。(3)HeaderTemplate:用于显示数据表标题内容与外观的模板。(4)ItemTemplate:用于显示数据表记录的模板。(5)FooterTemplate:用于显示数据表页脚的模板。(6)AlternatingItemTemplate:设置交替行外观模板。(7)SeparatorTemplate:项目分隔模板。5.2数据绑定控件
3.Repeater控件主要事件(1)DataSourceId:数据源控件的ID。(2)DataMember:在DataSet作为数据源时用于绑定的表中视图。(3)HeaderTemplate:用于显示数据表标题内容与外观的模板。(4)ItemTemplate:用于显示数据表记录的模板。(5)FooterTemplate:用于显示数据表页脚的模板。(6)AlternatingItemTemplate:设置交替行外观模板。(7)SeparatorTemplate:项目分隔模板。4.应用【例5-76】用SqlDataSource与Repeater控件显示系部编码表tblDepart中的所有记录。5.2数据绑定控件
(1)打开解决方案ex5_3与网站ex5_3。(2)在网站ex6_3中添加Repeater.aspx网页。(3)在Repeater.aspx网页中添加SqlDataSource与Repeater控件。(4)用智能按钮设置SqlDataSource控件属性,连接SQLServer中Alumni_sys数据库中的系部编码表tblDepart。(5)用智能按钮设置Repeater控件属性,连接数据源控件sds_Dept。(6)修改Repeater.aspx网页的HTML代码如下:5.2数据绑定控件
<divstyle="width:1000px;"><asp:RepeaterID="Rep_Dept"runat="server"DataSourceID="Sds_Dept"><HeaderTemplate></HeaderTemplate><ItemTemplate><divstyle="float:left;width:500px;height:150px"><table><tr><tdrowspan="3"><asp:ImageID="img_DptPhoto"ImageUrl='<%#Eval("Dpt_Photo")%>'runat="server"width="150px"height="120px"/></td><tdalign="left"> <small>系部编号:<%#Eval("Dpt_Id")%></td>…….</table></div></ItemTemplate><FooterTemplate></FooterTemplate></asp:Repeater></div>5.2数据绑定控件
5.2数据绑定控件
(8)设置Repeater.aspx为起始页,运行网站程序,界面如图5-28所示。图5-28用Repeater控件显示系部编码表
5.2.6DataList控件1.DataList
作用以每条记录为一块的格式显示数据表中的内容。2.DataList主要属性(1)Caption:控件标题,如系部编码表。(2)CaptionAlign:控件的对齐方式。(3)DataSourceID:数据源控件的ID。(4)DataMember:当以DataSet为数据源时,用于选择表或视图。(5)RepeatColumns:在DataList控件中显示列数。(6)RepeatDirection:选择垂直或水平显示。5.2数据绑定控件
3.DataList主要事件(1)DeleteCommand:删除记录时激活该事件。(2)EditCommand:编辑记录时激活该事件。(3)SelectedIndexCommand:更改当前选择时激活该事件。(4)UpdateCommand:替换记录时激活该事件。(5)ItemCreated:在创建项时激活ItemCreated事件。5.2数据绑定控件
【例5-7】用SqlDataSource与DataList控件实现按指定条件(系部名称、入学年份)查询班级名称。(1)打开解决方案ex5_3与网站ex5_3。(2)在网站ex5_3中添加DataList.aspx网页。(3)在DataList.aspx网页中添加表格控件Table,在表格中添加下拉式列表框
ddlst_Dept、文本框txt_Enroll、确定按钮btn_Ok、SqlDataSource数据源控件sds_Dept和sds_Class、DataList控件Dlst_Class和若干标签控件。(4)用智能按钮设置sds_Dept控件属性,使其连接SQLServer数据库Alumni_Sys中的系部编码表tblDepart。5.2数据绑定控件
(5)用智能按钮单击“选择数据源”设置下拉式列表框控件ddlst_Dept的属
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年悬剑空垄成语故事重诺守信教学教案
- 2025年麻醉药品、精神药品培训考试试题及答案
- 2026 年缅怀革命先烈传承红色基因课件
- 消息队列故障试题及分析答案
- 以标准为主题的试题及答案
- 意匠纹版工安全技能测试评优考核试卷含答案
- 螺旋桨钳工安全培训评优考核试卷含答案
- 水煤浆制备工岗前岗中水平考核试卷含答案
- 露天矿物开采辅助工操作能力测试考核试卷含答案
- 采油地质工岗前纪律考核试卷含答案
- 中职学校教学管理制度汇编
- 《北京市道路桥梁试验检测费用定额》
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理体系 审核与认证机构要求》中文版(机翻)
- Unit+5+Education+Lesson+1+Enlightening+a+Mind 高二英语北师大版(2019)选择性必修第二册
- DB12-T 1153-2022 城市轨道交通运营设备设施大修和更新改造技术规范
- 寄生虫病防治技能竞赛试题及答案
- (高清版)JTGT 5640-2020 农村公路养护预算编制办法
- 武汉市2024届高三年级五月模拟训练(五调)英语试卷(含答案)+听力材料
- 行政伦理学教程(第四版)课件 第1章 行政伦理的基本观念
- 矿井通风与安全-金属非金属矿山
- 软件著作权合作协议
评论
0/150
提交评论