C# 控件问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 01:17:14
初学ASP.NET 想要弄一个小网站,用了一个控件来绑定数据做一个排行榜
代码:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<dl>
<dt><asp:Image ID="img" ImageUrl='<%#"~/admin/Product/"+Eval("c_pic") %>' Width="50px" Height="50px" runat="server" /></dt>
<dd>
<strong>01</strong>
<div>
<h4><span>人气:<%#Eval("c_credit")%></span><a href="searchshop.aspx?id=<%#Eval("c_id") %>" title="<%#Eval("c_name2") %>"><%#Eval("c_name") %></a></h4>
<p><%#Eval("c_intro")%></p>
</div>
</dd>
</dl>
</ItemTemplate>
</asp:Repeater>
但是显示的时候前面的数字之显

解释一下lenoce的意思:
把<strong>01</strong>
改成<strong><%# Container.ItemIndex %></strong>

Repeater控件产生的每一行都是一个类型为RepeaterItem的Container,
RepeaterItem的ItemIndex属性是Repeater控件的Items 集合中的项的索引,就是当前行的行号。

不过ItemIndex是从0开始编号的,而排行榜一般从1开始编号,所以
改成<strong><%# string.Format(Container.ItemIndex+1) %></strong>可能更好

在数据源里加一列,index,把编号设置好,然后
<strong><%#Eval("index") %></strong>

<%#Container.ItemIndex %>