如何动态设置中继器td的背景颜色

how to set background colur of reapeater td dynamically

我正在使用一个中继器。在那个中继器中,我有一个名为 32 的列。如果此列获得值 = 增加,我想显示背面颜色为绿色,否则为红色

 <asp:Repeater ID="grdvPos" runat="server">
     <ItemTemplate>
       <td >
        <%#Eval ("32")%>
       </td>
       </ItemTemplate>

您可以使用 ItemDataBound 事件。

将您的 aspx 代码更改为,

       <ItemTemplate>
          <td runat="server" ID="TD1">
            <%#Eval ("32")%>
           </td>
       </ItemTemplate>

并且在您的后端代码中,

protected void grdvPos_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            HtmlTableCell td = (HtmlTableCell)e.Item.FindControl("TD1"); 
            if (td.InnerText.Contains("Decreased"))
                td.Attributes.Add("style", "background-color:Red;");
            else
              td.Attributes.Add("style", "background-color:Green;");
         }
}

请参考http://www.beansoftware.com/ASP.NET-Tutorials/Conditional-Values-Styles-GridView.aspx

有多种方式 1)使用 RowDataBound 并根据条件更改样式 2) 使用条件绑定评估。在后台它将使用相同的东西。

<asp:GridView ID="GridView1" runat="server">
<Columns>
  <asp:TemplateField>
   <ItemTemplate>
    <img src='<%# (Eval("ImageURL")==DBNull.Value ? "DefaultImage.jpg" : DataBinder.Eval(Container.DataItem, "ImageURL")) %>' />
   </ItemTemplate>
  </asp:TemplateField>
</Columns>
</asp:GridView>

aspx/设计

  <asp:Repeater ID="grdvPos" runat="server">
 <ItemTemplate>
 <td runat="server" ID="TD1" class="grdvclass backgrnd">
 <%#Eval ("32")%>
 </td>
 </tr>
 </ItemTemplate>

后面的代码

protected void grdvPos_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            HtmlTableCell td = (HtmlTableCell)e.Item.FindControl("TD1");
            if (td.InnerText.Contains("Decreased"))
                td.Attributes.Add("style", "background-color:Red;");
            else
                td.Attributes.Add("style", "background-color:Green;");
        }
    }

输出