您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > ch10--数据绑定控件与数据源控件3
第10章数据绑定控件与数据源控件本章要点◆数据源控件的概念及其用法◆编程实现数据绑定的方法◆GridView、DataList、Repeater、DetailsView、FormView控件用法◆ListView控件和DataPager控件的用法◆模板和数据绑定表达式的概念和用法10.1概述Web应用程序一般都离不开数据库。ASP.NET提供了多个数据控件用来在WEB页面上展示数据库中的数据。数据控件主要分两类:数据绑定控件,用来在页面上显示数据;数据源控件,用来提供对不同类型数据源的访问,如数据库、XML文件或中间层业务对象,并从中检索数据。数据绑定控件可以绑定到数据源而无需手动编写代码,降低了编程难度。数据源控件还支持修改数据的功能。常用的数据源控件①用于访问MicrosoftSQLServer、OLEDB、ODBC或Oracle数据库的SqlDataSource控件。用于访问SQLServer时,还支持高级缓存功能。当数据作为DataSet对象返回时,此控件还支持排序、筛选和分页。②用于访问MicrosoftAccess数据库的AccessDataSource控件;③用于访问XML文件的XmlDataSource控件;④用于访问站点地图文件的SiteMapDataSource控件;⑤N层架构应用程序下使用的ObjectDataSource控件等。数据绑定控件列表控件BulletedList、CheckBoxList、DropDownList、ListBox、RadioButtonList表格式数据绑定控件GridView、DataList、Repeater、DetailsView、FormView、ListView控件层次数据绑定控件Menu、TreeView控件10.2数据源控件SqlDataSource类是基于ADO.NET构建的,它以声明控件的方式,而不是编程的方式使用这些对象。SqlDataSource控件属于不可见控件,即它放在页面上,但是不会呈现任何内容。通常需要将它和其他控件一起使用来显示和编辑数据库数据,如GridView、FormView等控件,使用数据源控件可以快速构建ASP.NETWEB数据库应用程序,非常适合于初学者建立一些小型WEB站点。但是,在构建复杂的多层应用程序时,使用SqlDataSource等数据源控件并不合适。因为SqlDataSource数据源控件将数据访问层和用户界面层混在一起。如果要构建框架清晰的多层应用程序,就应该使用ObjectDataSource控件展现数据库数据,或自己通过编程手段实现。数据源控件应用举例【例10-1】用户在系统中注册(regV3.aspx页面)时,需要填写学生详情信息,包括系别、专业和班级信息。当页面加载时,系统首先初始化系别信息;当用户选择一个系别后,系统将在专业下拉框中显示该系别所有的专业;某一专业一旦被选中,班级列表框将显示该专业下所有的班级。学生详情界面设计如图10-1所示。数据库连接串的保存与使用%$ConnectionStrings:ConnectionString%表示对Web.config文件中ConnectionStrings节ConnectionString的引用。SqlDataSource控件支持的类型参数Parameter—表示一个任意的静态值。对应图10-9中【源】下拉框中的【None】;ControlParameter—表示一个控件值或页面的属性值。对应图10-9中【源】下拉框中的【Control】;CookieParameter—表示浏览器的cookie值。对应图10-9中【源】下拉框中的【Cookie】;FormParameter—表示一个HTML表单字段的值。对应图10-9中【源】下拉框中的【Form】;ProfileParameter—表示一个配置文件属性值。对应图10-9中【源】下拉框中的【Profile】;QueryStringParameter—表示查询字符串字段中的值。对应图10-9中【源】下拉框中的【QueryString】;SessionParameter—表示一个存储在Session对象中的对象的值。对应图10-9中【源】下拉框中的【Session】;10.3GridView控件GridView控件是ASP.NET2.0引入的一个新控件,是ASP.NET1.x版本中DataGrid控件的升级版本。GridView是功能最多、最复杂、应用最广泛的ASP.NET控件之一。它可以用来显示、选择、排序、分页和编辑数据库记录。10.3.1显示数据GridView控件将数据项呈现在一个HTML表格中,每个数据项呈现为一个独立的HTML行。GridView控件支持声明式数据绑定和编程式数据绑定。通过设置GridView控件的DataSourceId属性,将数据源控件关联到该GridView控件。如果使用编程式数据绑定方式,需要设置GridView控件的DataSource属性,并调用DataBind方法。AutoGenerateColumns属性为true(默认为true),GridView控件可以根据数据源的内容自动生成绑定字段,如果字段类型为布尔类型,它将在页面上为其呈现一个复选框,其它类型的字段内容将直接呈现在页面上。【例10-2】使用编程式数据绑定方式,利用GridView控件展示“管理会员页面”(adminUsers.aspx)中的用户列表。GridView控件的字段类型BoundField—将数据项展现为文本。CheckBoxField—将数据项展现为复选框。CommonField—使用超级链接形式支持编辑、删除或选中行。ButtonField—将数据项项显示为按钮(可以为image按钮、link按钮或push按钮)。HyperLinkField—将数据项显示为超级链接。ImageField—将数据项显示为图片。TemplateField—用于自定义数据项的展示。【例10-3】使用自定义字段定制GridView控件,显示学生信息。10.3.2选择数据GridView控件允许用户选择其中的一行数据,通常使用该功能创建一个主从结构表。为了标识一行数据,在数据源中有主键的概念,为了实现选择数据功能以及在GridView控件中编辑、删除或修改数据,需要设置GridView控件的DataKeyNames属性。DataKeyNames属性在GridView控件中为每行关联一个值,可以直接指定一个数据列的名称或者使用逗号隔开的列名列表作为属性值。通常情况下,将数据源的主键列名赋值给DataKeyNames属性。【例10-4】在【例10-3】的基础上添加一个选择列,当点击某一行上的【选择】链接时,在该列表的右边显示学生的详细信息。10.3.3数据分页如果要显示的数据量比较大,把这些数据分在在不同的页面显示是比较有效的方法。将GridView控件的AllowPaging属性设置为真就可以启用分页功能。此外,还需要设置PageSize属性,指定每页显示记录的条数。PageIndex属性表示当前选中页的索引(从零开始)。PagerSettings属性用来设置分页界面的外观。PagerSettings类几个属性FirstPageImageUrl—第一页按钮显示的图像URL。FirstPageText—第一页按钮显示的文字。LastPageImageUrl—最后一页按钮显示的图像URL。LastPageText—最后一页按钮显示的文字。Mode—分页显示模式,值可以为NextPrevious、NextPreviousFirstLast、Numeric、NumericFirstLast。NextPageImageUrl—下一页按钮显示的图像URLNextPageText—下一页按钮显示的文字。PageButtonCount—页按钮的数量。Position—分页界面的显示位置,可以是Bottom、Top和TopAndBottom。PreviousePageImageUrl—上一页按钮显示的图像URL。PreviousePageText—上一页按钮显示的文字。Visible—是否显示分页界面。PagerSettings类FirstPageImageUrl、FirstPageText、LastPageImageUrl、LastPageText、NextPageImageUrl、NextPageText、PreviousePageImageUrl、PreviousePageText属性只有分页显示模式Mode设置为NextPreviousFirstLast才有效。如果设置了xxxImageUrl属性,分页按钮将会忽略与之对应的xxxText属性并显示该图片,否则显示xxxText属性的值。当Mode属性设置为NextPrevious时,仅显示NextPageImageUrl、NextPageText、PreviousePageImageUrl、PreviousePageText属性值。当Mode属性设置为Numeric、NumericFirstLast时,页面上将显示页码相关信息,页按钮的数量有PageButtonCount属性值决定。【例10-5】在【例10-4】的基础上为gvStudent控件增加自定义分页功能。10.3.4编辑数据GridView控件除了显示数据外,还支持编辑数据。GridView在编辑模式下,每一行都显示一个“编辑”按钮,当用户点击该按钮时,当前行的每个单元格中的数据都会显示在一个可编辑控件(如TextBox控件、CheckBox控件或者用户自己定义的其他DropDownList控件等)内。此时“编辑”按钮变为“更新”和“取消”按钮。用户可以修改单元格中的内容,修改完毕后,点击“更新”按钮,保存修改内容,或点击“取消”按钮,放弃修改的内容。10.3.4编辑数据当GridView控件绑定到一个数据源控件时,如SqlDataSource控件,只需要将AutoGenerateEditButton属性设置为True即可启用编辑功能,将AutoGenerateDeleteButton属性设置为True可以启用删除功能,不需要用户编写代码,但需要配置好数据源控件。此外,GridView控件还支持通过编程的方式添加编辑和删除功能。此时需要手动添加编辑和删除列,并且需要编写代码响应RowDeleting、RowUpdating、RowEditing等事件。【例10-6】在【例10-5】的基础上,通过编程方式为gvStudent控件增加编辑和删除功能。10.4Repeater控件Repeater控件是一个容器控件,用于创建自定义列表。Repeater控件不具备内置的呈现功能,因此,必须通过创建模板为Repeater控件提供布局、格式设置和样式标记。当包含Repeater控件的页面运行时,Repeater控件依次为数据源中的每个记录呈现一个项。模板说明ItemTemplate此模板为必选模板。包含要为数据源中每个数据项都要呈现一次的HTML元素和控件。AlternatingItemTemplate使用此模板为交替项创建不同的外观,例如指定一种与ItemTemplate不同颜色的背景色。SeparatorTemplate包含在每项之间呈现的元素。例如可能是一条直线(使用hr/元素)。HeaderTemplate列表的开始处呈现的文本和控件。仅呈现一次。FooterTemplate列表的结束处呈现的文本和控件。仅呈现一次。Repeater应用举例【例10-7】利用Repeater控件实现首页音乐排行列表。实现效果如图10-23所示。数据绑定表达式在ASP.NET中,大部分数据绑定控件都支持模板。如Repeater、DataList、FormView,都必须使用模板,否则无法显示数据。GridView、
本文标题:ch10--数据绑定控件与数据源控件3
链接地址:https://www.777doc.com/doc-3398848 .html