ASP.NET:Repeater控件的详解

asp.net|控件|详解

    在学习DataGrid控件和DataList控件后,我们知道,DataGrid控件对数据输出格式是自动生成HtmlTable标记的,DataList控件也是这样,它根据数据内容来生成数据控制表格。而Repeater 控件是模板化的数据绑定列表,Repeater 控件是“无外观的”,即:它不具有任何内置布局或样式,也就不会产生任何数据控制表格来控制数据的显示。因此,我们必须在控件的模板中明确声明所有 HTML 布局标记、格式标记和样式标记。
  在第一节里我们也说过Repeater控件是个轻量级的数据绑定控件,一般用它来输出要求相对简单的数据,下面,我们利用这个控件,做一个简单的留言板。在这个留言板里,我们充分利用Repeater控件的控能,进行数据显示,数据分页,嵌入控件响应事件等等。

  首先,利用Access2003新建一个GuestbookData.mdb数据库,包含一个数据表GuestMessage,数据表字段属性如图9.16所示。


图9.16 GuestMessage数据表的字段属性

  一个功能完善的留言板应包括三个主要内容:
  (1)、留言浏览
  (2)、发表留言
  (3)、留言管理(回复,删除。有的还要求有审核功能)

  我们来根据这三个功能来详细介绍我们这个实例的编写。

  在DataCon Web 项目中新增一个WebForm窗体,命名为Repeater_Sample.aspx,添加一个Repeater控件,ID=“Repeater1”;三个Panel控件,三个Panel控件的ID分别是“login”,“reply”和“write”。

  首先我们来看“留言浏览”功能的HTML布局代码。在“留言浏览”部分我们要应用Repeater控件,该控件的属性列、绑定设置以及嵌入控件属性如下,注意绑定数据的使用:

<TABLE id="Table2" style="WIDTH: 384px; TR: "
   cellSpacing="0" cellPadding="0" width="384"
  align="left" border="0">
<TBODY>
<TR borderColor="#009900">
 <td><asp:linkbutton id="say" Runat="server">我要说两句</asp:linkbutton></td>
</TR>
<TR>
<TD>
  <asp:repeater id="Repeater1" runat="server">
 <ItemTemplate>
 <table width="400" border="1"
   cellpadding="0" cellspacing="0"
   bordercolor="#009966" style="FONT-SIZE: 12px">
 <tr>
 <td width="100" height="20">
  昵称:<%#  databinder.eval(container.dataitem,"name" ) %></td>
 <td width="300">
  这是 <b><%#  databinder.eval(container.dataitem,"name" ) %>
 </b><%#  databinder.eval(container.dataitem,"sex" ) %>于[<%# databinder.eval(container.dataitem,"senddate").tostring %>]的留言</td>
</tr>
 <tr>
 <td><%# "<img width=50 height=90  src ="+databinder.eval(container.dataitem,"face")+">" %></td>
<td><%# databinder.eval(container.dataitem,"content")  %></td>
</tr>
<tr>
<td><%# "<img src=http://www.163design.net/n/i/image/ip.gif alt=IP:"+ databinder.eval(container.dataitem,"ip")+" >" %>
<%# databinder.eval(container.dataitem,"ip") %>
</td><td>
<%# "<a href=mailto:" &  DataBinder.Eval(Container.DataItem,"Email")  & ">给他发邮件</a>" %>
<asp:LinkButton Runat=server CommandName ="del" CommandArgument= '<%# DataBinder.Eval(Container.DataItem,"ID") %>' ID="Linkbutton1" NAME="Linkbutton1">删除留言</asp:LinkButton>
    
<asp:LinkButton Runat=server CommandName ="reply" CommandArgument= '<%# DataBinder.Eval(Container.DataItem,"ID") %>' ID="Linkbutton2" NAME="Linkbutton1">回复留言</asp:LinkButton>   
</tr>
</table>
</ItemTemplate>
<SeparatorTemplate>
<table width="400" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="400" background="image/bg01.gif"></td>
</tr>
</table>
</SeparatorTemplate>
</asp:repeater></TD>
</TR>
<TR borderColor="#009900">
<TD class="style2" style="FONT-SIZE: 12px" borderColor="#009900" align="right" colSpan="2"><asp:label id="pagesinfor" runat="server" Font-Size="X-Small"></asp:label>/<asp:linkbutton id="prevpage" runat="server" Font-Size="X-Small">[上一页]</asp:linkbutton>  
<asp:linkbutton id="nextpage" runat="server" Font-Size="X-Small">[下一页]  </asp:linkbutton>跳转至第 <asp:dropdownlist id="pageslist" runat="server" AutoPostBack="True"></asp:dropdownlist>页  
</TD>
</TBODY>
</TABLE>

[1] [2] [3] [4] 下一页  

时间: 2024-09-28 07:20:18

ASP.NET:Repeater控件的详解的相关文章

asp.net分页控件使用详解【附实例下载】_实用技巧

一.说明 AspNetPager.dll这个分页控件主要用于asp.net webform网站,现将整理代码如下 二.代码 1.首先在测试页面Default.aspx页面添加引用 <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> 2.写一个Repeater列表控件用于显示数据 <asp:Repeater ID

android之SeekBar控件用法详解_Android

MainActivity.java package com.example.mars_2400_seekbar; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.app.Activity; import android.os.Bundle; import a

android之RatingBar控件用法详解_Android

MainActivity.java package com.example.mars_2500_ratingbar; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.app.Activity; import android.os.Bundle; import

WebBrowser控件使用详解

原文:WebBrowser控件使用详解 方法 说明 GoBack 相当于IE的"后退"按钮,使你在当前历史列表中后退一项 GoForward 相当于IE的"前进"按钮,使你在当前历史列表中前进一项 GoHome 相当于IE的"主页"按钮,连接用户默认的主页 GoSearch 相当于IE的"搜索"按钮,连接用户默认的搜索页面 Navigate 连接到指定的URL Refresh 刷新当前页面 Refresh2 同上,只是可以指定

Android 仿淘宝、京东商品详情页向上拖动查看图文详情控件DEMO详解_Android

一.淘宝商品详情页效果 我们的效果 二.实现思路      使用两个scrollView,两个scrollView 竖直排列,通过自定义viewGroup来控制两个scrollView的竖直排列,以及滑动事件的处理.如下图 三.具体实现 1.继承viewGroup自定义布局View 重写onMeasure()和onLayout方法,在onLayout方法中完成对两个子ScrollView的竖直排列布局,代码如下: 布局文件: <RelativeLayout xmlns:android="h

android之SeekBar控件用法详解

MainActivity.java package com.example.mars_2400_seekbar; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.app.Activity; import android.os.Bundle; import a

android之RatingBar控件用法详解

MainActivity.java package com.example.mars_2500_ratingbar; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.app.Activity; import android.os.Bundle; import

Android仿京东淘宝自动无限循环轮播控件思路详解

在App的开发中,很多的时候都需要实现类似京东淘宝一样的自动无限轮播的广告栏,所以就自己写了一个,下面是我自定义控件的思路和过程. 一.自定义控件属性 新建自定义控件SliderLayout继承于RelativeLayout,首先要考虑的就是自定义的控件需要扩展那些属性,把这些属性列出来.在这里是要实现类似于京东淘宝的无限轮播广告栏,那么首先想到的就是轮播的时长.轮播指示器的样式等等.我在这里列举了一些并且结合到了代码中. 1.扩展属性 (1)是否开启自动轮播的功能. (2)指示器的图形样式,一

asp.net Repeater控件详解

repeater控件在三个asp教程.net数据web控件中提供了最大的灵活性:它呈现的html标记是可以指定的.datagrid 或 datalist 会在预设的 html 标记中自动包含开发人员指定的内容.与它们不同的是,repeater 在呈现的时候将严格生成指定的 html 标记. 因此,如果不想用 html < table> 或者一系列 < span> 标记显示数据,而希望以其他方式显示数据,就必须使用 repeater 控件. 就像 datalist 一样,使用repe