《ASP.NET》数据的绑定—Repeater

     前面学习了HTML静态的网页编程,了解了其中的一些语法,但是自己感觉对Web编程掌握的还不够过瘾,于是跟着计划,开始了ASP.NET之旅。在写这篇ASP.NET博客之前之前,我想先将先比较一下ASP.NET与HTML的区别与联系。

     一、联系与区别:HTML是在客户端编程,通常生成的是静态网页;ASP.NET是在服务器端编程,通常能生成动态网页。ASP.NET中的控件是HTML中的控件重新设计、封装起来的,也就是说ASP.NET中的控件是以HTML中的控件为基础。ASP.NET控件具有回送功能,够用ViewState维持控件的状态, HTML控件则不能,当点击页面的操作,其状态就会丢失。

     在ASP.NET的学习过程中,其控件的学习和使用占了很大的一部分,今天,我说一下控件Repeater控件的使用,用它来绑定后台数据,然后在客户端(浏览器)上显示出来!

     二、 Repeater控件

     1、用途:使用模板循环显示数据。

     2、包含的模板:

        <ItemTemplate></ItemTemplate> 项目模板(里面的数据正常显示)

<AlternatingItemTemplate></AlternatingItemTemplate> 交错显示模板(里面绑定的数据交错着显示)<FooterTemplate></FooterTemplate>页脚模板(编辑页脚)

   <HeaderTemplate></HeaderTemplate>页眉模板(编辑页眉)

<SeparatorTemplate></SeparatorTemplate>间隔模板 (在显示的数据中插入间隔,像横线、特殊符号等等)

     三、示例

     我用vs2012的ASP.NET Web窗体应用程序编写的实例。

     1、内容介绍

     将数据库中Person表中的信息选出来,然后用Repeater控件在客户端显示出来。下图是我Sqlser数据库中person表中的信息。

     

    1:将数据库中的信息选出来并在后台绑定: 新建Web窗体应用程序,添加窗体,在窗体的Page_Load事件中添加如下代码。

      

protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection con = DB.createConnection();
            SqlDataAdapter sda = new SqlDataAdapter();
            string sql="select * from person ";
            sda.SelectCommand = new SqlCommand(sql, con);
            DataSet ds=new DataSet();
            sda.Fill(ds, "per");
            this.Repeater1.DataSource=ds.Tables["per"];
            Repeater1.DataBind();
        }

     2:用控件Repeater的模板  <ItemTemplate></ItemTemplate>   将信息显示,代码如下

<asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <p align="center">
                        <%# DataBinder.Eval(Container.DataItem,"pID") %>
                        <%# DataBinder.Eval(Container.DataItem,"personName") %>
                        <%# DataBinder.Eval(Container.DataItem,"personSex") %>
                    </p>
                </ItemTemplate>
            </asp:Repeater>

     3:显示效果如下


     4:<AlternatingItemTemplate></AlternatingItemTemplate>模板使用(让数据交叉显示)

 <asp:Repeater ID="Repeater1" runat="server">
                <AlternatingItemTemplate>
                    <p align="center">
                        <font color="blue"> <%# DataBinder.Eval(Container.DataItem,"pID") %>
                        <%# DataBinder.Eval(Container.DataItem,"personName") %> 
                        <%# DataBinder.Eval(Container.DataItem,"personSex") %></font>
                    </p>
                </AlternatingItemTemplate>
            </asp:Repeater>

    显示效果如下,结构只显示2、4、6、9列,这就是所谓的交叉显示。

    最后,我将五个模板一块使用,前台代码如下

<asp:Repeater ID="Repeater1" runat="server">
                <HeaderTemplate>
                    <h3 align="center">页眉模板</h3>
                </HeaderTemplate>

                <ItemTemplate>
                    <p align="center">
                        <font color="blue"> <%# DataBinder.Eval(Container.DataItem,"pID") %>
                        <%# DataBinder.Eval(Container.DataItem,"personName") %> 
                        <%# DataBinder.Eval(Container.DataItem,"personSex") %></font>
                    </p>
                </ItemTemplate>
                <AlternatingItemTemplate>
                    <p align="center">
                        <font color="blue"> <%# DataBinder.Eval(Container.DataItem,"pID") %>
                        <%# DataBinder.Eval(Container.DataItem,"personName") %> 
                        <%# DataBinder.Eval(Container.DataItem,"personSex") %></font>
                    </p>
                </AlternatingItemTemplate>

                <SeparatorTemplate>
                    <hr color="red" size="1" />
                </SeparatorTemplate>

                <FooterTemplate>
                    <h3 align="center">页脚模板</h3>
                </FooterTemplate>

            </asp:Repeater>

    显示效果图如下


      这就是利用控件将后台数据库中的信息用浏览器显示出来的方法,其实不光Repeater控件,像DataList,GridView,CheckBoxList、DropDownList等等都能将数据库中的信息加以绑定然后再在浏览器中显示出来,后面我会一一介绍,敬请期待!!


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值