使用repeter控件,绑定数据源,能够省去在前台页面中拼接繁杂的for、foreach的时间,整个页面看起来也更加直观。常配合<select>标签、<table>标签使用。

其中<itemTemplate>不断循环,<headerTemplate>和<footerTemplate>只执行一次,适用于<table>标签。

后台后置类获取List<Model.Student> 这样一个对象,Model.Student中有 studentId 和 studentName 两个字段。

//以下代码在page_Load方法中
if (!IsPostBack)
            {
                BLL.Student bllStu = new BLL.Student();
                List<Model.student> stuList= bllStu.GetStudentList();

                //给repeater绑定数据源,记得dataBind()
                Repeater1.DataSource = stuList;
                Repeater1.DataBind();
            }            

Select例子:

绑定后把想要循环的内容写在<itemTemplate>标签内。

 <select name="stuDropDownList">
      <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
          <option value="<%#Eval("studentId") %>"><%#Eval("studentName")%></option>
        </ItemTemplate>
      </asp:Repeater>
 </select>

Table例子:

一样要像上边的代码一样到后台给repeater控件绑定数据源。下面的例子展示了如何使用headerTemplate和footerTemplate

<table border="1" cellpadding="0" cellspacing="0">
            <asp:Repeater ID="Repeater1" runat="server">
                <HeaderTemplate>            <tr><th>学号</th><th>姓名</th></tr>
                </HeaderTemplate>
                <ItemTemplate>            <tr><td><%#Eval("studentId") %></td><td><%#Eval("studentName")%></td></tr>
                </ItemTemplate>
                <FooterTemplate>
                   <!--这里可以放页码-->
                </FooterTemplate>
            </asp:Repeater>
        </table>

下面附一段不用repeater,使用foreach循环来给select绑定数据的代码,感受一下区别。

  <select name="stuDropDownList">
         <%foreach (var stu in stuList)
         {%>
         <option value="<%=stu.studentId %>">
         <%=stu.studentName%></option>
         <%  } %>
 </select>

代码量也不多,不过看起来就没有repeater清晰了。

ASP.NET控件Repeter的使用的更多相关文章

  1. asp.net <asp:Content>控件

    <asp:Content ID="Content2" ContentPlaceHolderID="CPH_MainContent" runat=" ...

  2. FineUI 基于 ExtJS 的专业 ASP.NET 控件库

    FineUI 基于 ExtJS 的专业 ASP.NET 控件库 http://www.fineui.com/

  3. ASP.NET控件<ASP:Button /> html控件<input type="button">区别联系

    ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样 ...

  4. asp.net控件的Hyperlink控件

    Asp.net控件: Hyperlink控件:Hyperlink控件又称为超链接控件,该控件在功能上跟Html的<a herf=””>控件相似,其显示的模式为超链接的形式. 注意: Hyp ...

  5. asp.net控件开发基础(1)(转)原文更多内容

    asp.net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思. wrox网站上有本 ...

  6. 把某个asp.net 控件 替换成 自定义的控件

    功能:可以把某个asp.net 控件 替换成 自定义的控件 pages 的 tagMapping 元素(ASP.NET 设置架构) 定义一个标记类型的集合,这些标记类型在编译时重新映射为其他标记类型. ...

  7. Asp.Netserver控件开发的Grid实现(三)列编辑器

    以下是GridColumnsEditor的实现代码: GridColumnsEditor.cs using System; using System.Collections.Generic; usin ...

  8. 为ASP.NET控件加入快捷菜单

    ContextMenu Control 快捷菜单控件概述: MSDN Liabrary 中包含了几个DHTML快捷菜单的示例.分别提供了对这一功能的不能实现方法.一个快捷菜单就是在页面中任何位置的一组 ...

  9. <asp:FileUpload>控件 获取不到文件名

    <asp:FileUpload>控件 放在了<asp:UpdatePanel>控件中会导致获取不到文件名.

随机推荐

  1. DDD分层架构之仓储

    DDD分层架构之仓储(层超类型基础篇) 前一篇介绍了仓储的基本概念,并谈了我对仓储的一些认识,本文将实现仓储的基本功能. 仓储代表聚合在内存中的集合,所以仓储的接口需要模拟得像一个集合.仓储中有很多操 ...

  2. JCronTab 定时调用

    习惯使用 unix/linux 的开发者应该对 crontab 都不陌生.Crontab 是一个很方便的用于 unix/linux 系统的任务调度命令.JCronTab 则是一款全然依照 cronta ...

  3. KNN算法的理解

    一.算法 1.kNN算法又称为k近邻分类(k-nearest neighbor classification)算法. 最简单平庸的分类器或许是那种死记硬背式的分类器,记住全部的训练数据.对于新的数据则 ...

  4. strus2 action重复执行问题

    近日做项目,有两个模块功能类似,就写到了一个action中,方法起名为getXXX1,getXXX2 最后在两个模块去调用的时候,分别调用DemoAction!getXXX1.action和DemoA ...

  5. Head first设计模式

    使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...

  6. [转]Iphone m3u8 segmenter from ffmpeg for video streaming

    源地址:http://lukasz.cepowski.com/devlog/30,iphone-m3u8-segmenter-from-ffmpeg-for-video-streaming Recen ...

  7. AngularJS框架研究(一)

    和几年前相比,现在的Javascript开发方式有了翻天覆地的变化,一些极具创意的开发工具的出现,让前端开发更加成熟,Angular框架就是一个例子.最近在看Angular的源代码,发现并不是件容易的 ...

  8. VS2012配色方案

    VS2012配色方案 这些天由于公司项目比较忙,所以天天盯着电脑8小时,而且我的开发工具VS2012是白色背景的所以每天下班都搞的眼睛巨疼. 今天在网上找到一个很好的配色方案,所以有同样烦恼的童鞋们可 ...

  9. 如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作

    如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作 其实这个问题已经在<SQLSERVER企业级平台管理实践>里徐老师已经讲过了,不过我想用自己的语言再讲详细一些 笔记链接 ...

  10. JavaScript原生对象拓展

    JavaScript原生对象拓展 在据说每个大牛.小牛都应该有自己的库——框架篇中我扬言要做个小牛,没想到一天没更新,小伙儿伴们就戏谑的问我,油哥是不是要太监了?其实事情是这个样子的,这不是太监的节奏 ...