Repeater第一条记录时加一个背景颜色

Repeater第一条记录时加一个背景颜色
<asp:Repeater   ID= "Repeater1 "   runat= "server "> 
                    <ItemTemplate> 
                    <td> 
                          <a   href= "1.aspx?id= <%#Eval( "ID ")%> "> <%#Eval( "GName ")   %> </a> 
                    </td> 
                    </ItemTemplate> 
</asp:Repeater> 


后台是: 
Repeater1.DataSource   =Ds1(); 
Repeater1.DataBind(); 

我想在第一条记录显示时候, <td   加上   bgcolor=#ff0000> 
其它记录不用加! 


------解决方案--------------------
你可以绑定之前处理 

for(int i=0;i <Ds1.Table[0].Rows.Count;i++) 

if(i== 0) 
Ds1.Table[0].Rows[i][ "GName "] = " <td bgcolor=#ff0000> " + <a href= '1.aspx?id= " + Convert.ToString(Ds1.Table[0].Rows[i][ "ID "]) + "> " + Convert.ToString(Ds1.Table[0].Rows[i][ "GName "]) + " </a> "; 

------解决方案--------------------
<td <%# if(Container.ItemIndex==1){ "bgcolor=#ff0000 "};%> 
看看这样行不行~~ 
------解决方案--------------------
<asp:Repeater ID= "Repeater1 " runat= "server "> 
<ItemTemplate> 
<%# Container.ItemIndex == 0 ? " <td bgcolor=#ff0000> " : " <TD> " %> 
<a href= "1.aspx?id= <%#Eval( "ID ")%> "> <%#Eval( "GName ") %> </a> 
</td> 
</ItemTemplate> 
</asp:Repeater> 

------解决方案--------------------
你的td必须是服务器端控件(runat= "server "),这样你就可以使用: 

HtmlTableRow td=(HtmlTableRow)myRepeater.Items[0].FindControl( "..... "); 

类似代码找到它了。 

面向对象编程,就是要清楚地知道你的代码处理的对象如何找到。

posted @ 2018-04-28 15:17  becket  阅读(143)  评论(0编辑  收藏  举报