<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>fytg_finish的值有完成和未完成两种情况,完成显示成绿色,未完成显示红色!

解决方案 »

  1.   

    <asp:Label ID="Label1" runat="server" 
    Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>'
    ForeColor='(<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>==完成)?"green":"red"'></asp:Label>或者是你在后台的ItemDataBound事件中处理一下也可以。
      

  2.   


    <asp:Label ID="Label1" runat="server" 
    Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>'
    ForeColor='(<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>=="完成")?"green":"red"'></asp:Label>或者是你在后台的ItemDataBound事件中处理一下也可以。
      

  3.   

    分析器错误消息: 无法从其“ForeColor”属性的字符串表示形式“(<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>=="完成")?"green":"red"”创建“System.Drawing.Color”类型的对象。
      

  4.   

    <asp:Label ID="Label1" runat="server" 
    Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>'
    ForeColor='<%# DataBinder.Eval(Container.DataItem,"fytg_finish").Equals("完成") ? "green" : "red" %>'></asp:Label>
      

  5.   


    一样的错误编译器错误消息: CS0030: 无法将类型“string”转换为“System.Drawing.Color”
      

  6.   


    [code=C#]
    <asp:Label ID="Label1" runat="server" 
    Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>'
    ForeColor='(<%# Eval("fytg_finish").ToString() %>=="完成")?
    <%# System.Drawing.Color.FromName((DataBinder.Eval(Container.DataItem, "green")).ToString()) %>:<%# System.Drawing.Color.FromName((DataBinder.Eval(Container.DataItem, "red")).ToString()) %>'></asp:Label>[/code]
      

  7.   

    转型一下看看<asp:Label ID="Label1" runat="server" 
    Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>'
    ForeColor='(<%# Eval("fytg_finish").ToString() %>=="完成")?
    <%# System.Drawing.Color.FromName((DataBinder.Eval(Container.DataItem, "green")).ToString()) %>:
    <%# System.Drawing.Color.FromName((DataBinder.Eval(Container.DataItem, "red")).ToString()) %>'></asp:Label>
      

  8.   


    <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>' ForeColor='(<%# Eval("fytg_finish").ToString() %>=="完成")? <%# System.Drawing.Color.FromName("green").ToString()) %>: <%# System.Drawing.Color.FromName("red").ToString()) %>'>
    </asp:Label>
      

  9.   

    或者后台写个
    protect 类型的方法 
    protect  color(object objpars)
    {}
    前台绑定的时候绑定 这个方法
    <%#color( DataBinder.Eval(Container.DataItem,"fytg_finish")) %>
      

  10.   


    <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>' </asp:Label>
    还不行的话,后台 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
       if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
       {
              Label lbl= e.Item.FindControl("Label1") as Label;
               if(lbl.Text=="完成")
               {
                     lbl.ForeColor=Color.Green; 
                }
               else
               {
                    lbl.ForeColor=Color.Red; 
                }
       }
    }
      

  11.   

    你是放在ItemTemplate里?<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
          <ItemTemplate>
                   <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>' </asp:Label>
          </ItemTemplate>
    </asp:Repeater>
      

  12.   

      <asp:Repeater ID="fytg_list" runat="server" onitemcommand="fytg_list_ItemCommand">
                      <HeaderTemplate>
                         <table border=0 cellpadding=0 cellspacing=0 width=100%>
                           <tr align=center>
                              <td width=15%>放映时间</td>
                              <td width=10%>星期几</td>
                              <td width=55%>播放地址</td>
                              <td width=10%>影片名称</td>
                              <td width=10%>是否播放</td>
                           </tr>
                      </HeaderTemplate>
                      <ItemTemplate>
                          <tr align=center>
                             <td><%# DataBinder.Eval(Container.DataItem,"fytg_time") %></td>
                             <td><%# DataBinder.Eval(Container.DataItem,"fytg_day") %></td>
                             <td><%# DataBinder.Eval(Container.DataItem,"fytg_address") %></td>
                             <td><%# DataBinder.Eval(Container.DataItem,"fytg_name") %></td>
                             <td><asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"fytg_finish") %>'></asp:Label></td>
                          </tr>
                      </ItemTemplate>
                      <FooterTemplate>
                         </table>
                      </FooterTemplate>
                      </asp:Repeater> protected void fytg_list_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Label lbl = e.Item.FindControl("Label1") as Label;
                if (lbl.Text == "完成")
                {
                    lbl.ForeColor = Color.Green;
                }
                else
                {
                    lbl.ForeColor = Color.Red;
                }
            }    }
      

  13.   

    我上面给你写的是ItemDataBound事件,不是Command事件protected void fytg_list_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Label lbl = e.Item.FindControl("Label1") as Label;
                if (lbl.Text == "完成")
                {
                    lbl.ForeColor = Color.Green;
                }
                else
                {
                    lbl.ForeColor = Color.Red;
                }
            }    }
      

  14.   

    当然aspx页面也得改<asp:Repeater ID="fytg_list" runat="server" OnItemDataBound="fytg_list_ItemDataBound">
    ...
      

  15.   

    我改了,但是会出现这种错误
    编译器错误消息: CS0123: “fytg_list_ItemDataBound”的重载均与委托“System.Web.UI.WebControls.RepeaterItemEventHandler”不匹配
      

  16.   


      Label lbl = e.Item.FindControl("Label1") as Label;
                if (lbl.Text == "完成")
                {
                    lbl.Style.Value= "Color:Green";
                }
                else
                {
                   lbl.Style.Value= "Color:red";
                }
      

  17.   

    把RepeaterCommandEventArgs e修改成:RepeaterItemEventArgs e就行了。谢谢~@taomanman
      

  18.   

    我给你的就是protected void fytg_list_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
       
    }
    是你写错了,晕!
      

  19.   

    <tr style='background-color:<%# Eval("switch_flg").ToString()=="1"?"yellow":"inherit" %>' >
      

  20.   

    protected void fytg_list_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.It……