有的时候,你在编程进入一定阶段,进一步提升很困难的境况之下,不妨回过头来看看基础的东西,或许你会有新的受益,或许能够真正的体会到孔夫子所谓的“温故而知新”的真正内涵。
公司主营业务:成都网站建设、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出淮安免费做网站回馈大家。
常用的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">
- <thscopethscope="col">
- 姓名 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适当改变
程序代码
- <asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server">
<thscopethscope="col">姓名 th> tr> HeaderTemplate> <%#Container.DataItem%> td> tr> ItemTemplate> table> FooterTemplate> - asp:Repeater>
<3>绑定Dictionary、HashTable
Dictionary
C#数据绑定控件程序代码
- privatevoidBindData()
- {
- Dictionary
,int>dic=newDictionary ,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">
<thscopethscope="col">姓名 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);
- IList
list=newList (); - 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">
- <thscopethscope="col">
- 姓名 th>
- 年龄 th>
- tr>
- HeaderTemplate>
- <%#Eval("Name")%>
- td>
- <%#Eval("Age")%>
- td>
- tr>
- ItemTemplate>
- table> FooterTemplate>
- asp:Repeater>
网站名称:C#数据绑定控件中的DataSource属性
URL地址:http://www.shufengxianlan.com/qtweb/news26/504326.html网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容
- Redis实现高效消息发布机制(redis的消息发布机制)
- 大华网络存储服务器配置?(存储服务器配置怎么选)
- 轻量应用主机满了怎么办
- U盘装机大师安装win10系统详细操作教程?(装机大师windows10)
- P数据库登录30字中文文章标题(jsp数据库登陆)
- dns技术提供的三种类型的服务器?域名服务器划分为哪四种类型
- 监控主机连外网路由器设置?外网服务器主机
- 如何恢复禁用的WindowsUpdate功能「win10恢复被禁用」
- 普及型云服务器:小白也能上手的云计算服务
- 管理Linux用户权限管理:实现安全的操作权限(linux下用户权限)
- Redis实现高效精准事务管理(redis管理事务)
- 外贸促销邮件模板,附详细介绍
- 下载好的win10系统64位如何做镜像?windows10创建系统镜像文件
- 各位大神们,求助服务器down了,不知道啥原因?(这个是服务器的问题吗一直没有)
- 电脑桌面激活windows水印怎么去除?如何去除windows桌面水印