Repeater控件为什么ItemTemplate显示错了一行?

2024-12-28 03:55:07
推荐回答(3个)
回答1:

你这种情况有多种,得看看你从数据库中查询出来的数据再做判断。
不过我猜想,你的第一条数据不等于你所判断的”王静”“张三”“李四”中的任意一个,所以默认绑定了你的初始值。
调试一下吧,多多调试,这种问题一般调试一下就能出结果。

回答2:

你好!
目测好像问题有点纠结,不是很好改!所以只能推荐你改改代码,实现一样的功能了:
前台的绑定位置
<%# Eval("id") %>
<%# Eval("name") %>
<%# Eval("age") %>

后台的绑定事件
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HtmlTableCell td1 = e.Item.FindControl("td1") as HtmlTableCell;
HtmlTableCell td2 = e.Item.FindControl("td2") as HtmlTableCell;
if (td1.InnerText == "李四")
{
td2.InnerText = "李四";
}
else if (td1.InnerText == "张三")
{
td2.InnerText = "张三";
}
else if (td1.InnerText == "王静")
{
td2.InnerText = "王静";
}
}
}
这样就可以达到你要的效果的了!

回答3:

呃,刚才也是回答你的问题吧?我经常用的是DataReader:
Repeater1.DataSource =dr;