|
知识路径: > 电子商务系统程序设计基础 > 电子商务系统建设 > B/S结构程序设计 >
|
相关知识点:73个
|
|
|
|
ASP.NET中,可以使用ADO.NET对数据库中的数据进行访问查询,而且查询到的数据可以通过数据绑定控件显示在页面上,如GridView、DataList、Repeater等控件都可以实现数据绑定的功能,.NET中数据绑定控件结构如下图所示。
|
|
|
|
|
|
GridView是ASP.NET中功能非常丰富的数据控件之一,它可以以表格的形式显示数据库的内容并通过数据源控件自动绑定和显示数据。开发人员能够通过配置数据源控件对GridView中的数据进行选择、排序、分页、编辑和删除等操作。GridView控件还能够指定自定义样式,在没有任何数据时可以自定义无数据时的UI样式。
|
|
|
|
|
|
|
除了上述属性以外,GridView还提供了很多设置GridView样式的属性,例如RowStyle、HeaderStyle等,通过设置这些属性的值可以设置GridView控件的样式。GridView还提供了设置格式的简捷方式,在页面设计视图中GridView的右键菜单中选择“自动套用格式”,在弹出的窗口中可以设置GridView中的样式。
|
|
|
|
GridView控件提供两种数据绑定方式,一种则是使用DataSource属性进行数据绑定,这种方法能够将GridView控件绑定到包括ADO.NET数据和数据读取器内的各种对象,该方法在介绍DataSet部分已经介绍;另一种是使用数据源控件进行数据绑定。
|
|
|
|
.RowCommand:在GridView控件中单击某个按钮时发生。
|
|
|
.PageIndexChanging:在单击页导航按钮时发生。
|
|
|
.PageIndexChanged:在单击页导航按钮后发生。
|
|
|
.SelectedIndexChanging:在单击GridView控件内某一行的Select按钮(其Command Name属性设置为“Select”的按钮)时发生。
|
|
|
.SelectedIndexChanged:在单击GridView控件内某一行的Select按钮后发生。
|
|
|
.Sorting:在单击某个用于对列进行排序的超链接时发生。
|
|
|
.Sorted:在单击某个用于对列进行排序的超链接后发生。
|
|
|
.RowDataBound:在GridView控件中的某个行被绑定到一个数据记录时发生。
|
|
|
.RowCreated:在GridView控件中创建新行时发生。
|
|
|
.RowDeleting:在单击GridView控件内某一行的Delete按钮(其CommandName属性设置为“Delete”的按钮)时发生。
|
|
|
.RowDeleted:在单击GridView控件内某一行的Delete按钮后发生。
|
|
|
.RowEditing:在单击GridView控件内某一行的Edit按钮(其CommandName属性设置为“Edit”的按钮)时发生。
|
|
|
.RowCancelingEdit:在单击GridView控件内某一行的Cancel按钮(其Command Name属性设置为“Cancel”的按钮)时发生。
|
|
|
.RowUpdating:在单击GridView控件内某一行的Update按钮(其CommandName属性设置为“Update”的按钮)时发生。
|
|
|
.RowUpdated:在单击GridView控件内某一行的Update按钮后发生。
|
|
|
.DataBound:此事件继承自BaseDataBoundControl控件,在GridView控件完成到数据源的绑定后发生。
|
|
|
|
重复列表控件(Repeater)是一个可重复显示的控件。它能够通过使用模板显示一个数据源的内容,而且这些模板可以自己设计。Repeater控件可以将一段HTML代码或者某些.NET服务器控件进行组合构成一个模板,Repeater控件会根据绑定的数据源中的记录个数重复该模板。Repeater控件支持5种模板,这5种模板的功能如下:
|
|
|
.AlternatingItemTemplate:交替项模板。
|
|
|
|
|
|
.SeparatorTemplate:分隔符模板。
|
|
|
在上面5种模板中,必须使用的是ItemTemplate模板,其他的模板可以选用。
|
|
|
|
与Repeater控件相似,DataList控件也支持多种类型的模板,通过为DataList指定不同的样式,可以自定义DataList控件的外观。不同的是,Repeater控件只能自定义模板,自行绑定数据,而DataList控件本身自带部分模板,也可以自动绑定数据字段,且属性更丰富,DataList控件常用属性如下:
|
|
|
.AltermatingItemStyle:编写交替行的样式。
|
|
|
.EditItemStyle:正在编辑的项的样式。
|
|
|
.FooterStyle:列表结尾处的脚注的样式。
|
|
|
|
|
.SelectedItemStyle:选定项的样式。
|
|
|
.SeparatorStyle:各项之间分隔符的样式。
|
|
|
通过修改DataList控件的相应的属性,能够实现复杂的HTML样式。同GridView一样,DataList控件也可以套用自定义格式实现显示样式。
|
|
|
|
.ItemCommand:当重复列表控件中有按钮被激发时触发。
|
|
|
|
.ItemDataBound:一项被绑定到数据源时触发。
|
|
|
|
FormView控件一次只能显示一条数据,并且提供对数据的分页操作。FormView控件同样支持模板,FormView控件支持的模板如下:
|
|
|
.ItemTemplate:用于在FormView中呈现一个特殊的记录。
|
|
|
.HeaderTemplate:用于指定一个可选的页眉行。
|
|
|
.FooterTemplate:用于指定一个可选的页脚行。
|
|
|
.EmptyDataTemplate:当FormView的DataSource缺少记录的时候,EmptyData Template将会代替ItemTemplate来生成控件的标记语言。
|
|
|
.PagerTemplate:如果FormView启用了分页的话,这个模板可以用于自定义分页的界面。
|
|
|
.EditItemTemplate/InsertItemTemplate:如果FormView支持编辑或插入功能,那么这两种模板可以用于自定义相关的界面。
|
|
|
FormView控件常用事件除了在Repeater控件中介绍的几种外,还有一些事件,如下所示:
|
|
|
.ItemCommand:Command命令引发。
|
|
|
.ItemDeleted:执行Delete命令后引发。
|
|
|
.ItemDeleting:执行Delete命令前引发。
|
|
|
.ItemInserted:执行Insert命令后引发。
|
|
|
.ItemInserting:执行Insert命令前引发。
|
|
|
.ItemUpdated:执行Update命令后引发。
|
|
|
.ItemUpdating:执行Update命令前引发。
|
|
|
|
|
.PageIndexChanged:页索引发生变化后引发。
|
|
|
.PageIndexChanging:页索引发生变化前引发。
|
|
|
|
DetailsView控件与FormView比较类似,DetailsView控件每次也只能够显示一条记录,并且支持对数据源控件中的数据进行插入、删除和更新等操作。但是DetailsView控件与FormView控件不同的是,DetailsView控件不支持ItemTemplate模板,它是以一种表格形式所呈现的。DetailsView控件能够支持Ajax。DetailsView控件可以通过选择是否包括更新,删除等操作,而无需手动的添加相应的事件,如下图所示。
|
|
|
|
|
当选择了【启用分页】选项后DetailsView控件就能够自动进行分页,还可以配置Pager Settings属性允许自定义DetailsView控件生成分页的外观,它将呈现向前和向后导航的方向控件,PagerSettings属性的常用模式有:
|
|
|
.NextPrevious:以前一个,下一个形式显示。
|
|
|
.NextPreviousFirstLast:以前一个,下一个,最前一个,最后一个形式显示。
|
|
|
|
.NumericFirstLast:以数字,最前一个,最后一个形式显示。
|
|
|
|
|
如果在“配置DetailsView任务”时选择了“启用插入”“启用编辑”“启用删除”,则会自动生成新建、编辑、删除等按钮,如上图所示。单击这些按钮时,会触发相应的事件,切换到相应的模式,例如单击编辑按钮后的结果如下图所示。
|
|
|
|
|