Repeater控件并不是从WebControl类派生而来,所以不支持一些通用的格式。比如字体颜色等等。
格式:<asp:Repeater ID="MyRepeater" runat="server"></asp:Repeater>
注意:Repeater控件只支持模板,AlternatingItemTemplate、ItemTemplate、HeaderTemplate、FooterTemplate、SeparatorTemplate。其中ItemTemplate模板是强制性模板,必须拥有的。
数据源绑定方式两种:
第一:通过设置其DataSource属性来绑定数据源。缺点:初学者,背于Code-Behind.
第二:通过设置DataMember属性来动态绑定Repeater控件。
如何利用Repeater显示数据文件?代码如下:
<form id="form1" method="post" runat="Server">
<asp:Repeater id="MyRepeater" runat="Server">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"title")%>
</ItemTemplate>
</from>
说明要点:<%#DataBinder.Eval(Container.DataItem,"数据库字段名称")%>
其中DataBinder是System.Web.UI命名空间中的一个类,Eval是一个静态方法,使用反射来计算数据绑定表达式。Repeater控件最常用的事件有3个分别是:ItemCommand、ItemCreated、ItemDataBound,当创建一个项或者一个项被绑定到数据源的时候,将分别触发ItemCreated和ItemDataBound事件,当Repeater控件中有按钮事件被触发时(通常是单击),将触发ItemCommand事件,用户可以用过RepeaterCommandEventArgs参数获取以下三个参数的值CommandArgument、CommandName和CommandSource.以此确定Repeater控件中按钮控件的名称和值。写了这么多,还是举一个例子吧。请看下面的代码:
<form id="form1" runat="server">
<div>
<asp:Repeater ID="MyRepeater" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="MyRepeater_ItemCommand">
<HeaderTemplate>
<table border="1">
<tr>
<td>作者</td>
<td>地址</td>
<td>联系</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("au_lname") %></td>
<td><%#Eval("Address") %></td>
<td><asp:Button ID="btBuy" Text="联系" CommandArgument='<%#Eval("au_lname") %>' runat="server" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:Label ID="ibBuy" runat="server"></asp:Label>
</div>
</form>
下面对Repeater控件的ItemCommand事件进行编程,并且在Load事件中进行数据绑定。代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Repeater : System.Web.UI.Page{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection myCon = new SqlConnection("Server=WuWei;DataBase=YourDataBase;User id=sa;pwd=123456");
try
{
myCon.Open();
SqlCommand myCmd = new SqlCommand("Select * from Orders", myCon);
SqlDataReader reader = myCmd.ExecuteReader();
this.MyRepeater.DataSource = reader;
this.MyRepeater.DataBind();
}
finally
{
myCon.Close();
}
}
}
protected void MyRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
this.ibBuy.Text = e.CommandArgument.ToString();
}
}
总结:注意数据绑定方法,其次养成好的习惯把容易出错误的代码放在try......finally里面.
重复列表控件Repeater
来源:CSDN
作者:赵生
时间:2008-06-04 点击:265 次
相关文章:
文章搜索
推荐文章
推荐产品
|
VARCHART XGantt
全球知名的甘特图控件,能够实现如 Microsoft Project 般强大的项目管理功能。
|
|
TurboDemo 中文版
TurboDemo - 抓取屏幕截图并通过动态演示示例及手册解释软件、个人电脑应用程序、网站与产品。
|
|
BCGControlBar Library .NET Edition
该组件包含大量可自定义程度高、可设计性好的组件,使用户可创建精致美观的图形用户界面。
|
|
WebUI Studio.NET
WebUI Studio.NET 是一套用于开发专业 ASP.NET web 应用程序必不可少的控件。
|





