C# Repeater绑定数组,ArrayList和ArrayList实体类

        ASP.NET中数据控件一个重要的功能就是绑定数据,而我们平时用的最多的绑定DataTable。但是除了DataTable之外还有一些其他数据格式也是可以绑定的!这篇博客就以Repeater为例,介绍三种绑定其他数据的方式。


1. Repeater绑定数组和ArrayList


前台代码


    
<%--1.Repeater绑定数组--%> <%--Repeater绑定数组前台代码绑定方式:<%# GetDataItem()%>--%>
<%# GetDataItem()%>
<%--2.Repeater绑定ArrayList--%> <%--Repeater绑定ArrayList前台代码绑定方式:<%# GetDataItem()%>--%>
<%# GetDataItem()%>


 
   

后台代码

using System.Collections;//使用ArrayList添加的引用

namespace ArrayList测试
     {
     public partial class Repeater绑定ArrayList : System.Web.UI.Page
          {
          protected void Page_Load ( object sender, EventArgs e )
               {
               //调用绑定数组的函数
               bindrptarry ( );
               //调用绑定ArrayList的函数
               bindrptarryList ( );
               }
          //第一个函数:绑定数组
          public void bindrptarry ( )
               {
               //1.定义一个字符串
               string strs = "li|wen|yuan";
               //2.按照 | 标记将字符串分为三个字符串并赋值给str数组
               string[] str = strs.Split ( '|' );
               //3.Repeater绑定数组
               rptarry.DataSource = str;
               rptarry.DataBind ( );
               }
          //第二个函数:绑定ArrayList
          public void bindrptarryList ( )
               {
               //Repeater绑定数组ArrayList
               //调用arrayList函数获得ArrayList
               rptarry.DataSource = arrayList ( );
               rptarry.DataBind ( );
               }
          //第三个函数
          //将ArrayList中添加一些元素
          public ArrayList arrayList ( )
               {
               //1.创建ArrayList对象
               ArrayList aL = new ArrayList ( );
               //2.通过Add方法向ArrayList中添加元素
               aL.Add ( "liceshi" );
               aL.Add ( "wenceshi" );
               aL.Add ( "yuanceshi" );
               return aL;
               }
    
          }
     }


 
   


2.Repeater绑定ArrayList实体类


前台代码

 
   

    
测试Repeater绑定ArrayList实体类 <%--1.添加Repeater控件--%> <%--1.1.设置显示的表头--%> <%--表头分别是:学号 姓名 性别--%> <%--1.2.设置单元格中显示的具体数据--%> <%--Repeater绑定ArrayList实体类绑定方式:<%# DataBinder.Eval(Container.DataItem, "属性名") %>--%> <%--学号列显示的数据--%> <%--姓名列显示的数据--%> <%--性别列显示的数据--%>
学号   姓名   性别 
<%# DataBinder.Eval(Container.DataItem, "ShuXing1") %> <%# DataBinder.Eval(Container.DataItem, "ShuXing2") %> <%# DataBinder.Eval(Container.DataItem, "ShuXing3") %>




后台代码
using System.Collections; //使用ArrayList需要添加的引用

namespace ArrayList测试
     {
     public partial class ArrayList测试 : System.Web.UI.Page
          {
          protected void Page_Load ( object sender, EventArgs e )
               {
               if (!IsPostBack) 
                    { 
                    //1.创建ArrayList对象
                    ArrayList ceshi = new ArrayList ( );

                    //2.向ArrayList中添加实体类元素
                    for (int i = 0; i < 2; i++)//外侧循环3次
                         {
                         //内部循环的模为4---计算学号
                         int waiceng = 4 * i;
                         for (int j = 0; j < 5; j++)//内测循环5次
                              {
                              //14=外层循环次数*内层循环次数-1
                              //quanbu = i + j + 2 * j + waiceng;
                              //2.1.根据外循环和内循环的模得到学号(要求学号顺序排列 自增1)
                              int xuehao = i + j + waiceng;
                              
                              //2.2.每次循环一次就向ArrayList添加下面的元素
                              Entity yuansu = new Entity ( );
                              //学号属性的添加
                              //要求学号是按照顺序排列的
                              yuansu.ShuXing1 = xuehao.ToString();
                              //姓名属性的添加
                              yuansu.ShuXing2 = "姓名"+xuehao ;
                              //简单的根据奇数偶数来判断性别
                              if (xuehao % 2 == 0)
                                   {
                                   //当学号是偶数的时候性别是“女”
                                   yuansu.ShuXing3 = "女";
                                   }
                              else 
                                   {
                                   //当学号是奇数的时候性别是“男”
                                   yuansu.ShuXing3 = "男";
                                   }       
                              //2.3.向ArrayList中添加实体类
                              ceshi.Add ( yuansu);
                              }
                         }
                    //将ArrayList实体类ceshi绑定到Repeater1中
                    Repeater1.DataSource = ceshi;
                    Repeater1.DataBind ( );
                    }
               }
          }
     }


 
    

运行结果

C# Repeater绑定数组,ArrayList和ArrayList实体类_第1张图片


3.总结

从上面的代码中可以比较出,不管是绑定数组,ArrayList还是一些其他的数据,区别只在于前台代码的绑定方式。所以其他的数据控件比如DataGridView都是和Repeater相类似的。这样子就可以更加方便的使用ASP.NET中的这些数据控件。




你可能感兴趣的:(C#,ASP.NET)