一、DataList 与 Repeater比较
1、DataList比Repeater多了两个模板:SelectedItemTemplate和EditItemTemplate,支撑挑选和编辑功用。
2、DataList有可视化的模板编辑和属性编辑,而Repeater控件不指定内置规划,与DataList比拟,数据编辑起来比较贫苦。
3、DataList中的内容是以表格的情势显现数据,如许一来,使数据分列越发雅观,而Repeater本身须要增加表格才行。
4、DataList将项显式放在HTML表中,Repeater则不然。
二、DataList中的模板
1、ItemTemplate、AlternationgItemTemplate、SeparatorTemplate、HeaderTemplate、FooterTemplate、SelectedItemTemplate 、 EditItemTemplate。
三、事宜
1、冒泡事宜
在“.NET” 框架包括三个支撑事宜冒泡的规范控件:Repeater、DataList和DataGrid控件。这些控件可以让你捕捉其子控件的事宜。当子控件发生一个事宜时,事宜就“冒泡”传给包括该子控件的容器控件,而且容器控件便可以实行一个子顺序来处置惩罚该事宜。
DataList控件支撑事宜冒泡,可以捕捉DataList内包括的控件发生的事宜,而且经由历程一般的子顺序处置惩罚这些事宜。讲到这里有些人能够不太邃晓事宜冒泡的优点地点,如许,我们反过来思索:假如没有事宜冒泡,那末关于DataList内包括的每个控件发生的事宜都须要定义一个响应的处置惩罚函数,假如DataList中包括10000个控件呢?或许更多呢?那我们得写多少个事宜处置惩罚顺序。所以有了事宜冒泡,不论DataList中包括多少个控件,我们只须要一个处置惩罚顺序便可以了。我的明白就是将顺序封装,再经由历程继续的机制断交题目。
2、DataList支撑的事宜:
EditCommand:由带有CommandName=”edit”的子控件发生。
CancelCommand:由带有CommandName=”cancel”的子控件发生。
UpdateCommand:由带有CommandName=”update”的子控件发生。
DeleteCommand:由带有CommandName=”delete”的子控件发生。
ItemCommand:DataList的默许事宜。
3、事宜触发的历程:有了这五个事宜,那末当我点击了DataList控件中的某一个按钮的时刻,应当触发哪个事宜呢?什么时刻才触发它们呢?
在“ASP点NET ”中有三个控件带有CommandName属性,分别是Button、LinkButton和ImageButton,可以设置它们的CommandName属性来示意容器控件内发生的时候范例。比方,假如设置DataList中的一个LinkButton的CommandName属性为“update”,那末点击此按钮的时刻,将会触发DataList的UpdateCommand事宜,我们可以将相干处置惩罚代码写到对应的事宜处置惩罚顺序中去。
注重:ItemCommand事宜是DataList控件发生的默许事宜,任何DataList控件中CommandName为delete/cancel/update/edit的按钮被点击后,事宜ItemCommand起首被触发,然后才是响应的事宜。
四、编辑DataList中的数据。
1、经由历程挑选DataList中某一项的主键而举行编辑,运用DataList控件中的DataKeys鸠合。
在挑选DataList中的一个项时,一般须要猎取与这个项相干联的主键的值。可以运用DataKeys鸠合来猎取与一个项想关联的主键的值。在创建了DataKeys鸠合后,便可以经由历程通报项的索引值给DataKeys鸠合来猎取DataList中与相干项关联的主键值。比方,要猎取由 DataList显现的第三项的主键值,便可所以运用:DataList1.DataKeys[2],假如要在DataList控件的事宜处置惩罚函数中发生事宜的项的主键值,则用:DataList1.DataKeys[e.Item.ItemIndex]。
2、编辑DataList中的项
可以运用DataList控件来编辑数据表中的某一条纪录,事实上,在DataList中完成如许的操纵异常的轻易,不像在asp中须要在多个页面中往返切换。DataList控件具有一个名为EditItemTemplate的模板,在EditItemTemplate中安排表单控件,以便能在DataList中编辑特定的项。当DataList的EditItemIndex属性的值为DataList某一项的索引的时刻,对应的项将会以EditItemTemplate模板显现;当属性值为-1时,示意不显现EditItemTemplate模板。
3、挑选DataList中的项
数据绑定到DataList后,DataList中的每一项都有一个索引号,第一项的索引为0,顺次往下编号。我们可以应用索引来肯定DataList中细致的项。
DataList默许以ItemTemplate或ItemTemplate+AlternatingItemTemplate模板显现数据项,当DataList的SelectedIndex属性的值为DataList某一项的索引的时刻,对应的项将会以SelectedItemTemplate模板显现。当该属性值为-1时,示意不显现SelectedItemTemplate模板。
四、小结
说了这么多,言而不行是嘴把式,上面都是一些理论知识,只要本身用到了才深深地体会到个中的功用,下一篇博客就是针对DataList的实践篇,敬请关注!!!
以上就是详解《ASP.NET》数据绑定—DataList的细致内容,更多请关注ki4网别的相干文章!