Repeater是我们经常用的一个显示数据集的数据控件,经常我们希望在数据前显示数据的序号,那么我们该怎么为Repeater控件添加序号呢?下面编辑为大家介绍几种常用的为Repeater控件添加序号的方法:
方法一:
利用Container.ItemIndex属性,代码如下:
<Itemtemplate>
<%#Container.ItemIndex+1%>
</Itemtemplate>
方法二:
利用Repeater的Items.Count属性,代码如下:
<Itemtemplate>
<%#this.Repeater.Items.Count+1%>
</Itemtemplate>
方法三:
利用JS在前台给一个Label标签赋值,代码如下:
在.aspx中添加一个Label控件,用来显示序号。
<LabelID=''label''runat=''server''></Label>
JS代码:
<bodyonload=''show()''>
<ScriptLanguage=''javascript''>
functionshow()
{
varbj=document.all.tags(''Label经解释后生成的Html标签'');
for(i=0;i<obj.length;i++)
{
document.all[''Label经解释后生成的Html标签''][i].innerHTML=i+1;
}
}
</script>
该方法需注意的地方比较多,不推荐使用。
方法四:在后台中实现,代码如下:
在.aspx里添加一个Label控件
<asp:Labelid=''Label1''runat=''server''></asp:Label>
在.cs里添加代码:
voidInitializeComponent()
{
this.Repeater1.ItemDataBound+=newSystem.Web.UI.WebControls.RepeaterItemEventHandler(this.Repeater1_ItemDataBound);
this.Load+=newSystem.EventHandler(this.Page_Load);
}
voidRepeater1_ItemDataBound(objectsource,System.Web.UI.WebControls.RepeaterItemEventArgse)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
((Label)e.Item.FindControl(''Label1'')).Text=Convert.ToString(e.Item.ItemIndex+1);
}
}
方法五:为Repeater控件添加连续的编号,翻页后序号接前上一页的序号,代码如下:
<%#Container.ItemIndex+1+(this.AspNetPager.CurrentPageIndex-1)*每页的数据数量>