前台页面
<ul>
<asp:Repeater runat="server" ID="rptList" OnItemDataBound="rptCategory_ItemDataBound">
<ItemTemplate>
<li>
<a href='ArticleList.aspx?id=<%# Eval("Id") %>'><img src='<%# Eval("ImageUrl") %>' /></a>
<div>
<h4><a href='ArticleList.aspx?id=<%# Eval("Id") %>'><%# Eval("Title") %></a></h4>
<p><asp:Literal ID="ltrDes" runat="server" />...</p>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
后台页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bjxmh.Jingci;
using System.Text;
public partial class tools_food_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e) {
Category _category = new Category();
rptList.DataSource = _category.GetCategoryInfoes();
rptList.DataBind();
}
protected void rptCategory_ItemDataBound(object sender, RepeaterItemEventArgs e) {
if (e.Item.DataItem != null) {
CategoryInfo categoryInfo = (CategoryInfo)e.Item.DataItem;
Food _food = new Food();
var infoes = _food.GetContentInfoByCategoryId(categoryInfo.Id);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < Math.Min(infoes.Count, 3); i++) {
sb.AppendFormat("<a href='Article.aspx?id={1}'>{0}</a> ", infoes[i].Title, infoes[i].Id);
}
((Literal)e.Item.FindControl("ltrDes")).Text = sb.ToString();
}
}
}
repeater控件可以随意调用数据