常常运用的C#数据绑定控件有:Repeater、DataList、GridView、DetailsView等,在这里我拿Repeater来简朴申明题目。
运用该属性指定用来添补Repeater控件的数据源。DataSource可所以任何System.Collections.IEnumerable对象,
如用于接见数据库的System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、数组或IListSource对象。
常常运用的数据源:
一个DataTable
一个DataView
一个DataSet
任何完成IListSource接口的组件
任何完成IList接口的组件
注重:
若要绑定到对象的强范例数组,该对象范例必需包括大众属性。
下面经由过程几个简朴的实例来引见DataSource的详细运用。
<1>绑定DataTable,平常都是从数据库掏出数据,然后直接举行绑定,详细的数据库操纵的逻辑不再供应。想必人人都已异常熟习。绑定DataView与这个相似。
程序代码
privatevoidBindData() { //经由过程营业逻辑,直接挪用数据库中的数据 DataTablenTable=getTable(); Repeater1.DataSource=nTable; Repeater1.DataBind(); }
HTML代码
C#数据绑定控件程序代码
<asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> <HeaderTemplate> <table> <tr> <thscopethscope="col"> 姓名th> <th> 岁数th> <tr> <HeaderTemplate> <ItemTemplate> <tr> <td> <%#Eval("Key")%> <td> <td> <%#Eval("value")%> <td> <tr> <ItemTemplate> <FooterTemplate> <table><FooterTemplate> <asp:Repeater>
<2>绑定Array、ArrayList、List、一维数组之类,内里存储简朴的数据。
ArrayList
C#数据绑定控件程序代码
privatevoidBindData() { ArrayListlist=newArrayList(); list.Add("Jim"); list.Add("Tom"); list.Add("Bluce"); list.Add("Mary"); Repeater1.DataSource=list; Repeater1.DataBind(); }
HTML恰当转变
程序代码
<asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> <HeaderTemplate><table><tr><thscopethscope="col">姓名<th><tr><HeaderTemplate> <ItemTemplate><tr><td><%#Container.DataItem%><td><tr><ItemTemplate> <FooterTemplate><table><FooterTemplate> <asp:Repeater>
<3>绑定Dictionary、HashTable
Dictionary
C#数据绑定控件程序代码
privatevoidBindData() { Dictionary<string,int>dic=newDictionary<string,int>(); dic.Add("Jim",21); dic.Add("Tom",26); dic.Add("Bluce",33); dic.Add("Mary",18); Repeater1.DataSource=dic; Repeater1.DataBind(); }
HTML代码
程序代码
<asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> <HeaderTemplate><table><tr><thscopethscope="col">姓名<th><th>岁数<th><tr><HeaderTemplate> <ItemTemplate><tr><td><%#Eval("Key")%>td><td><%#Eval("value")%><td><tr><ItemTemplate> <FooterTemplate><table><FooterTemplate> <asp:Repeater>
<4>绑定对象鸠合,IList等。这个非常有效,在我们举行数据查询的时刻,常常从数据库掏出数据,为了轻易操纵,须要封装成对象,然则有的时刻须要将这些对象以列表的情势显现出来,一种解决计划:对象转换为DataTable,另一种就是直接挪用数据库。这两种计划,并非很抱负。而这里直接将对象鸠合直接绑定到数据显现控件,给我指明一条前途。实在,在PetShop4.0就是应用这一点,绑定ICollection或许IList。简朴明了。
一个简朴的用户类,包括两个大众属性。
程序代码
usingSystem; usingSystem.Data; /// ///SummarydescriptionforUser /// publicclassUser { privatestring_Name; publicstringName { get{return_Name;} set{_Name=value;} } privateint_Age; publicintAge { get{return_Age;} set{_Age=value;} } publicUser() { // //TODO:Addconstructorlogichere // } publicUser(stringname,intage) { _Name=name; _Age=age; } }
绑定对象鸠合:
IList
程序代码
privatevoidBindData() { Useruser1=newUser("Jim",21); Useruser2=newUser("Tom",23); Useruser3=newUser("Bluce",33); Useruser4=newUser("Mary",18); IList<User>list=newList<User>(); list.Add(user1); list.Add(user2); list.Add(user3); list.Add(user4); Repeater1.DataSource=list; Repeater1.DataBind(); }
对应的Repeater绑定对象的大众属性:
C#数据绑定控件程序代码
<asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server"> <HeaderTemplate> <table> <tr> <thscopethscope="col"> 姓名th> <th> 岁数<th> <tr> <HeaderTemplate> <ItemTemplate> <tr> <td> <%#Eval("Name")%> <td> <td> <%#Eval("Age")%> <td> <tr> <ItemTemplate> <FooterTemplate> <table><FooterTemplate> <asp:Repeater>
以上就是C#数据绑定控件中的DataSource属性浅谈的内容,更多相关内容请关注ki4网(www.ki4.cn)!