一、在ItemDataBound事件里面动态改变Repeater控件里面的html元素

如:

        <asp:Repeater ID="Repeater1" runat="server"
onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<table>
<tr id="row" runat="server">
<td>
<%#DataBinder.Eval(Container.DataItem,"title")%>
</td>
</tr> <tr id="row2" runat="server">
<td>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater> 后台程序
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
int i = e.Item.ItemIndex;
if (i % == )
{
HtmlTableRow row = (HtmlTableRow)e.Item.FindControl("row");
if (row != null)
{
row.BgColor = System.Drawing.Color.Black.ToString();
}
} HtmlTableRow row2 = (HtmlTableRow)e.Item.FindControl("row2");
if (row2 != null)
{
//在这里就可以对row2这个html的元素进行各种各样的赋值了
}
} 二、在Repeater控件里面嵌套Repeater控件
<asp:Repeater runat="server" ID="rp1" OnItemDataBound="rp1_ItemDataBound">
<ItemTemplate>
<tr>
<td >
<%#DataBinder.Eval(Container.DataItem,"title")%>
</td>
</tr>
<tr>
<td>
<div >
<asp:Repeater runat="server" ID="rp1">
<ItemTemplate> <%#DataBinder.Eval(Container.DataItem,"title2")%>
</ItemTemplate>
</asp:Repeater>
</div>
</td>
</tr>
</ItemTemplate>
</asp:Repeater> CS代码 private void Bind()
{ ……
this.rptypelist.DataSource = dt;
this.rptypelist.DataBind();
}
protected void rp1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{ //判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,HeaderTemplate,,ItemTemplate,SeparatorTemplate)
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("rp2") as Repeater;//找到里层的repeater对象
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到外层Repeater关联的数据项
int title= Convert.ToInt32(rowv["title"]); ……
rep.DataSource = dt2; rep.DataBind();
}
} 三、添加序号的4种方法 、<itemtemplate>
<tr><td>
<%# Container.ItemIndex + %>
</td></tr>
</itemtemplate>
、<itemtemplate>
<tr><td>
<%# this.rpResult.Items.Count + %>
</td></tr>
</itemtemplate> 、在<form></form>中添加<Label ID="dd" ></Label> <body nload="show()"> <Script. Language="JScript">
function show()
{
var bj = document.all.tags("LABEL");
for (i=;i<obj.length;i++)
{
document.all["dd"][i].innerHTML=i+;
}
}
</script> 、后台实现方法
后台实现方法: 在.aspx里添加<asp:Label id="Label1" Runat="server"></asp:Label> 在.cs里添加 ** void InitializeComponent()
{
this.Repeater1.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.Repeater1_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load); } ** void Repeater1_ItemDataBound(object source, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
((Label)e.Item.FindControl("Label1")).Text = Convert.ToString(e.Item.ItemIndex + );
}
} 四、获取每行的指定字段的值 用一个Label 控件来保存id 值,然后在后台可以通过获取这个Label来获取id
例如:
<asp:repeater runat="server" id="rpList" OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<tr>
<td >
<asp:Label ID="lblPID" runat="server" Text="<%#Eval("id")%>" ></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:repeater> cs文件里:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
foreach (RepeaterItem re in Repeater1.Items)
{
Label l = re.FindControl("lblPID") as Label; //这里写你的Label的ID
}
}

Repeater使用技巧的更多相关文章

  1. 数据绑定控件之Repeater

    引言 前几篇的文章在说AJAX的内容,利用AJAX技术能够开发出高效运行的网站应用程序,不过在进行B/S项目开发时只拥有AJAX技术是远远不够的,踏入到B/S要学的东西会更多,但相较C/S的复杂逻辑结 ...

  2. [.NET]Repeater控件使用技巧

    1.控制Repeater表格中的按钮显隐 1.1 定义方法 public void Repeater1_ItemDataBinding(object sender, RepeaterItemEvent ...

  3. GridView,Repeater增加自动序号列

    有三种实现的方式, 第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了. <Columns> <asp:TemplateField Hea ...

  4. 分享几个asp.net开发中的小技巧

    下面这几个,是在实际开发或阅读中发现的一些问题,有些甚至是有很多年开发人员写出的代码,也是很多人经常犯的错误.各位可以看看,你有没有躺着中枪. 第一个,对整型变量进行非null判断. // a 是in ...

  5. 教你50招提升ASP.NET性能(二十):7条便利的ViewState技巧

    (32)Seven handy ViewState tips 招数32: 7条便利的ViewState技巧 Every time I have to deal with a classic ASP.N ...

  6. Repeater实例应用

    在实际开发过程中,涉及到数据绑定,分页,以及一对多展示数据时,遇到这样的需求我们怎么解决呢?下面以帖子展示来逐一说明. 帖子主要由两部分组成,第一部分是发帖人的原创内容部分,第二部分是用户评论部分,这 ...

  7. Asp.net性能优化技巧

    [摘 要] 我只是提供我几个我认为有助于提高写高性能的asp.net应用程序的技巧,本文提到的提高asp.net性能的技巧只是一个起步,更多的信息请参考<Improving ASP.NET Pe ...

  8. Repeater隔行变色,两个方式

    <table> <tr> <td>用户编号</td> </tr> <asp:Repeater ID="rptUser&quo ...

  9. asp.net提高程序性能的技巧(一)

    [摘 要] 我只是提供我几个我认为有助于提高写高性能的asp.net应用程序的技巧,本文提到的提高asp.net性能的技巧只是一个起步,更多的信息请参考<Improving ASP.NET Pe ...

随机推荐

  1. python 列表求和

    def sum_list(items): sum_numbers = for x in items: sum_numbers += x return sum_numbers print(sum_lis ...

  2. Java中泛型区别以及泛型擦除详解

    一.引言 复习javac的编译过程中的解语法糖的时候看见了泛型擦除中的举例,网上的资料大多比较散各针对性不一,在此做出自己的一些详细且易懂的总结. 二.泛型简介 泛型是JDK 1.5的一项新特性,一种 ...

  3. Solaris11 Vsphere client tool 的鼠标问题

    Mouse does not function on a Solaris 11 virtual machine (2040498) http://kb.vmware.com/selfservice/m ...

  4. 配置AD RMS的一点心得

    基本上是按照下面的连接配置的,微软写的很好 AD RMS Step-by-Step Guide http://technet.microsoft.com/en-us/library/cc753531( ...

  5. OKR 说明

    转载来源: http://www.jianshu.com/p/ce1141084427 一.什么是OKR? OKR的全称是“Objectives and Key Results”,翻译过来就是“目标和 ...

  6. IEnumerable<T> 接口和GetEnumerator 详解

    IEnumerable<T> 接口 .NET Framework 4.6 and 4.5   公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代. 若要浏览此类型的.NET Frame ...

  7. android中LayoutInflater.from(context).inflate的分析

    在应用中自定义一个view,需要获取这个view的布局,需要用到 (LinearLayout) LayoutInflater.from(context).inflate(R.layout.conten ...

  8. 使用Array类处理基本数组对象

    java里面的Arrays类有个asList方法,参数是1或多个Object对象,如果传入一个Object数组,则可以将该数组转化为List,但如果传入的是一个基本类型的数据(int,long,sho ...

  9. PHPCMS v9 二次开发_验证码结合Session开发

    本文主要讲解了在V9中使用v9自带验证码并且需要使用session的情况下,多种问题的解决.:).如有问题或者更好的解决办法,希望不吝赐教. 1.前端调用验证码 pc_base::load_sys_c ...

  10. 【linux】查看进程

    查询所有:ps aux 查询某个用户:ps -u abc 终止某个进程:kill