C#中怎么利用DataSource属性绑定数据

C#中怎么利用DataSource属性绑定数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司,为您提供网站建设成都网站制作、网站营销推广、网站开发设计,对服务酒楼设计等多个行业拥有丰富的网站建设及推广经验。成都创新互联公司网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

常用的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#数据绑定控件程序代码

     姓名th>  
 年龄th> tr> HeaderTemplate>  
 <%#Eval("Key")%> td>  <%#Eval("value")%> td> tr> ItemTemplate>  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适当改变

程序代码

 姓名th>tr>HeaderTemplate> 
<%#Container.DataItem%>td>tr>ItemTemplate> table>FooterTemplate> asp:Repeater>

<3>绑定Dictionary、HashTable

Dictionary

C#数据绑定控件程序代码

privatevoidBindData()  {  Dictionarydic=newDictionary();  dic.Add("Jim",21);  dic.Add("Tom",26);  dic.Add("Bluce",33);  dic.Add("Mary",18);   Repeater1.DataSource=dic;  Repeater1.DataBind();  }

HTML代码

程序代码

 姓名th>
年龄th>tr>HeaderTemplate> 
<%#Eval("Key")%>td><%#Eval("value")%>td>tr>ItemTemplate> 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);   IListlist=newList();  list.Add(user1);  list.Add(user2);  list.Add(user3);  list.Add(user4);   Repeater1.DataSource=list;  Repeater1.DataBind();  }

对应的Repeater绑定对象的公共属性:

C#数据绑定控件程序代码

     姓名th>  
 年龄th> tr> HeaderTemplate>  
 <%#Eval("Name")%> td>  <%#Eval("Age")%> td> tr> ItemTemplate>  table>FooterTemplate> asp:Repeater>

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


网站题目:C#中怎么利用DataSource属性绑定数据
文章来源:http://scyanting.com/article/ijgjhh.html