1.根据 行号 绑定不同的 css
<li class=<%# (Container.ItemIndex==0) ? "current" : "normal"%>>
2.隔行,换 css
class='<%# (Container.ItemIndex%2==0) ? "lxx" : "biankuang" %>'
3.任意复杂的表达式,你可以自己写函数,例如
HTML codeText='<%# MyFunc((string)Eval("Type"),(string)Eval("Title"))%>'
C# code
protected string MyFunc(string type,string title)
{
return string.Format("我想在这里绑定{0}-{1}!",type,title);
}
4. //出现空行
前台: <%#GetChangeRow(Container) %>
后台: protected string GetChangeRow(RepeaterItem item)
{
if ((item.ItemIndex + 1) % 5 == 0)
{
return "<li style='background:#fbfcf6'><div class='new'></div><a href=''></a></li>";
}
else return " ";
}
5.绑定表达式可以用于临时计算任何值。例如当数据中的日期字段为特定日期时使得TextBox的颜色改变,就可以为ForeColor属性写:
HTML code
ForeColor='<%# this.CheckDate((DateTime)Eval("计划开始日期")) %>'
C# code
protected System.Drawing.Color CheckDate(DateTime dt)
{
if (DateTime.Now.Date == dt.Date)
return System.Drawing.Color.Red; //今天红色
else
return System.Drawing.Color.DarkBlue;
}
6.reperter嵌套
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<asp:Repeater ID="houseList" runat="server">
后台:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("houseList") as Repeater;//找到里层的repeater对象
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
int typeid = Convert.ToInt32(rowv["userid"]); //获取填充子类的id
DataSet ds = new DataSet();
ds = bh.GetList(4, " 1=1");
rep.DataSource = ds;
rep.DataBind();
}
}