我们在开发分成架构的Web应用程序时,常常把数据库中的记录放到一个List<Model>中,做到了良好的封装。调用业务逻辑的程 序猿也无需知道库表结构就可以直接使用“Model.属性”来访问各个字段的数据了。但在做显示的时候,初学者可能会碰到一些问题。以往大家在显示控件 (如Repeater)上绑定的都是DataSet,ASPX页面里写的是“<%# Eval("字段名")%>”。那如何绑定一个List<T>泛型呢?

其实,Repeater控件是支持绑定到业务对象的,并且我们也不再用Eval表达式了。看一个例子:

后台代码:

DepartmentData bll = new DepartmentData();
List<DepartmentModel> model = bll.GetDepartmentList();
if (model != null)
{
  rptDep.DataSource = model;
  rptDep.DataBind();
}

其中,model返回的是一个List<T>。我们可以按照以往绑定DataSet的相同写法,将List绑定到Repeater控件上。

再来看看前台代码:

<ul>    <asp:repeater id="rptDep" runat="server">        <itemtemplate>            <li><%#((DepartmentModel)Container.DataItem).DepartID%></li>        </itemtemplate>    </asp:repeater></ul>

就这样,很简单,就把DepartmentModel的DepartID显示在了网页上

总结一下:

要在Repeater上绑定List泛型,后台代码里只要指定Repeater控件.DataSource = List<你的类型>。前台代码里先强制转换类型,然后就可以访问各属性了,不需要写Eval:<%#((你的类型)Container.DataItem).你的类型的属性%>。这样写的优点非常明显:我们确实无需知道库表结构了,可以直接调用Model类型.属性,不容易写错代码,也增加了可维护性。而且,据说此方法的效率要高于传统的采用Eval绑定方法。

转载自 http://www.189works.com/article-40209-1.html

转载于:https://www.cnblogs.com/reddptp/p/3144605.html

Asp.Net Repeater控件绑定泛型ListT的用法相关推荐

  1. 窗体控件绑定泛型数组 0104 c#

    窗体控件绑定泛型数组 0104 c# 绑定组合框案例 定义类 实例化对象 弄数组 控件绑定字段 控件绑定数据源 绑定dgv案例 定义对象 控件的列定义好 绑定数据处理好

  2. repeater控件 php,asp.net Repeater控件的说明及详细介绍及使用方法

    Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repeater 控件提供布局.当该页运行时,Repeater 控件依次通过数据源中的记录为每个记录呈现一个项. 他很简单,用 ...

  3. C# ASP.NET DROPDOWNLIST控件绑定数据库,用DropDownList1.SelectedValue.ToString 读取的选项值始终是第一项的值的解决方法

    1.C# ASP.NET  DROPDOWNLIST控件绑定数据库,数据库内容如下 数据库有3个字段:id,name,map. 数据库只有1个表,表名为  table1 2.前台代码如下: <a ...

  4. repeater 控件ajax绑定数据源,【ASP.NET】第九课——使用DataList控件和Repeater控件绑定数据...

    知识点:掌握 DataList 控件呈现数据的方法: 掌握 Repeater 控件呈现数据的方法:掌握处理 Repeater 控件中的按钮事件. 1. 使用 DataList 控件呈现数据 在用 AS ...

  5. asp.net repeater控件

    Repeater 控件用于显示重复的项目列表,这些项目被限制在该控件.Repeater 控件可被绑定到数据库表.XML 文件.数组.List.Dictionary.DataSet等项目列表数据源. 要 ...

  6. repeater控件 php,Repeater控件绑定的三种方式

    方式一 在aspx页面,写好需要循环输出的内容,一般包含用户自定义控件.服务器控件.Html格式的片段.和这种方式来动态显示获取到得数据列表: "> class="" ...

  7. asp.net repeater控件

    1.repeater控件显示数据 Repeater和DataList都可以一次显示一组数据项(例如,显示一个数据表中的所有行),Repeater控件完全由模板驱动,可以任意设置他的输出格式:DataL ...

  8. Repeater控件绑定数据、分页、数据操作,最佳代码

    页面代码: <asp:Repeater id="dlData" runat="server"  >           <HeaderTemp ...

  9. asp.net学习之Repeater控件

    Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行.      Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输 ...

  10. ASP.Repeater控件使用

    随便收集记录一下,仅供参考. 一.Repeater控件的模板 ItemTemplate : 对每一个数据项进行格式设置 AlternatingItemTemplate : 对交替数据项进行格式设置 S ...

最新文章

  1. TensorRT简介
  2. COM组件开发实践(七)---多线程ActiveX控件和自动调整ActiveX控件大小(上)
  3. 大数据时代的数据存储,非关系型数据库MongoDB(一)(转)
  4. c# uri.host_C#| 具有示例的Uri.Equality()运算符
  5. 对MariaDB10.0的Sphinx进行扩展
  6. android 4.0系统,全新Android 4.0系统_手机Android频道-中关村在线
  7. CentOS 6.6 搭建Zabbix 3.0.3 过程
  8. 题目SPOOLing系统的设计与实现
  9. php5.2 json,php5.2 对json格式的支持
  10. 内存映射第一步:idmap swapper
  11. HTTP请求常见错误码大全
  12. Win7下给电脑加域,及遇到的问题。欢迎留言
  13. Python开发高频英语单词700+,熟悉后英文障碍又少了
  14. elementui实现上传视频功能+预览
  15. 【JavaScript】延时器定时器使用
  16. android分贝仪界面,android声音检测仪---分贝仪 (附源码)
  17. _bstr_t与BSTR
  18. Android类微信(二)
  19. Go语言入门-《Go程序设计语言》学习笔记
  20. matlab 自由度,matlab二自由度系统振动

热门文章

  1. 010 Editor for Mac(十六进制编辑器)v12.0
  2. 文件拖拽操作增强工具Dropzone 4 for Mac---提高工作效率
  3. 【WPF】在MenuItem中下划线“_”显示不正常
  4. 考拉Android全局滑动返回及联动效果的实现
  5. 虚拟化存储解决方案需要确定的三件事
  6. sort排序和uniq使用
  7. struts实现文件下载
  8. android启动之子系统切换
  9. 再这样下去,团队半年内就要散了。。
  10. B站,又被扫黄了!!!