Repeater1_ItemDataBound绑定的问题,为什么数据会下移
前台代码:
<asp:Repeater ID= "Repeater1 " runat= "server " OnItemDataBound= "Repeater1_ItemDataBound " OnItemCreated= "Repeater1_ItemCreated ">
<ItemTemplate>
<tr >
<td height= "26 " align= "center " background= <%#imgpath %> >
<asp:HyperLink ID= "HyperLink5 " runat= "server " NavigateUrl= <%#DataBinder.Eval(Container.DataItem, "id ", "index.aspx?classid={0} ")%> CssClass=lfont20> <%# DataBinder.Eval(Container.DataItem, "classname ").ToString()%> </asp:HyperLink>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
后台CS代码:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
classid = Request.QueryString[ "classid "];
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HyperLink hp = new HyperLink();
hp = (HyperLink)e.Item.FindControl( "HyperLink5 ");
string quanbu = hp.NavigateUrl.ToString();
int xx = hp.NavigateUrl.ToString().Length - 19;
string panduan = quanbu.Substring(19, xx);
if (panduan == classid)
{
imgpath = "rheology_images/images/rheology_04-02.gif ";
}
else
{
imgpath = "rheology_images/images/rheology_04-03.gif ";
}
}
}
我要的效果是:当我获得classid的值时,进行比较判断,从而改变前台的背景颜色,现在的问题:当我的CLASSID=1时,前台背景改变的是 panduan=2的背景,一次类推,当CLASSID=2是,改变的是panduan=3的背景,请问为什么
[解决办法]
用了e.Item.ItemType == ListItemType.AlternatingItem判断,