我从后台加入一条新数据,前台用Repeater+分页显示的,我想最新添加的数据在前台显示红色的比如现在前台数据是(order by倒序)
5
4
3
2
1
我又添加了一条新数据变成了
6
5
4
3
2
1
如何让我最新添加的数据在前台显示红色!

解决方案 »

  1.   

      //判断时间间隔
                Literal ltTime = e.Item.FindControl("lteTime") as Literal;
                HiddenField HFtime = e.Item.FindControl("HFTime") as HiddenField;
                string datetime = System.DateTime.Now.ToString();
                System.DateTime addTime = DateTime.Parse(HFtime.Value);
                System.DateTime nowTime = DateTime.Parse(datetime);
                System.TimeSpan timeSpan = nowTime - addTime;
                ConvertNum cn = new ConvertNum();//定义转换阿拉伯数字转换为中文大写
                if (timeSpan.TotalDays > 1)//判断天
                {
    ltTime.Text = "<font color='red'>于&nbsp;" +cn.NumToChn( timeSpan.TotalDays.ToString("0")) + "&nbsp;天之前说:</font>"; 
                                   return;
              }
                     }
      

  2.   

    是在rp里面放一个Literal 然后在放一个HiddenField 并绑定值。还有一种是。   Literal ltTime = e.Item.FindControl("lteTime") as Literal;
                string datetime = System.DateTime.Now.ToString();
                System.DateTime addTime = DateTime.Parse(drv["postdatetime"].ToString());
                System.DateTime nowTime = DateTime.Parse(datetime);
                System.TimeSpan timeSpan = nowTime - addTime;
      

  3.   

    最新,你最新的定义是什么,是没人看过,还是最近几分钟之内的信息.还是说前面的几条之内显示红色.1. 没人看过的, 再加一个字段,默认值为0,如果有人看过了,就置为1, 根据这两个来定义链接的颜色.
    2. 几分钟之内的, <%#SetColor(DataBinder.Eval(Container.DataItem,"title").ToString,DataBinder.Eval(Container.DataItem,"dateAndtime").ToString) %>后台: public string SetColor(string tit,string dat)
    {
         DateTime dt = Convert.ToDateTime(dat);
         if (dt > DateTime.Now.AddMinute(-5))
             return "这里可设置颜色. 5分钟左右";
    }
    3. 前面几条:
    <%#SetColor(DataBinder.Eval(Container.DataItem,"title").ToString,(Container.ItemIndex+1)) %>
    public string SetColor(string tit,int n)
    {
         if (n <= 5)
             return "这里可设置颜色. 5条左右";
    }
      

  4.   


    小弟初学啊
    public string SetColor(string tit,int n) 

        if (n <= 5) 
            return "这里可设置颜色. 5条左右"; 
    }
    怎么和前台绑定啊?说并非所有都有返回值厄
      

  5.   

    如果只是单纯控制颜色可以考虑用javascript。
    在rp绑定数据的时候加一个TR,然后就能很方便的找到每一行了。
      

  6.   

    说明白点!就是固定分页的第一页的第一行为红色<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
      <tr>
        <td>显示的数据</td>
      </tr>
    </ItemTemplate> 
    </asp:Repeater>请问用JS怎么实现我就是想用JS,用笨的方法我也会,直接去读数据库倒序然后TOP1取最后的ID然后控制颜色
    问题是我不想再读数据库,要那样数据库压力太大了,我想用JS控制固定分页的第一页的第一行为红色
      

  7.   

    <tr>
        <td>显示的数据 </td>
      </tr> 首先找到这一行很多方法,我的做法是加个id runat="server",然后在HTML页面中查看具体的ID。
    也可以使用jQuery的方法,更简单。
    document.getElementById("HTML中的ID").style.color="red";
      

  8.   


    可是我每添加一条数据 ID 是会变的啊,就比如论坛,我发表个新帖不可能和别的贴ID一样吧。。
    我不能添一条数据去HTML网页看一次具体的ID吧。。
      

  9.   

    动态的可以在后台写protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
    //i第一行显示为红色
    if(e.Item.ItemIndex==1)
    System.Web.UI.HtmlControls.HtmlTableRow trItem = (System.Web.UI.HtmlControls.HtmlTableRow)e.Item.FindControl("trItem");trItem.Style.Add("color","red");
    }
      

  10.   

    当然用脚本也可以得到第一行的
    //获得reapeater Render后的id
    var m_table=ducoment.getDocumentById("repeater.ClientID");
    //得到行
    var m_row=m_table.rows;
    //第一行
    m_row[0].style.color="red";0可能是表头,自己看看就知道了。
      

  11.   


    var m_table=ducoment.getDocumentById("repeater.ClientID");  这取不出来啊,说对象不支持此属性啊
    ,试了半天了trItem.Style.Add("color","red");  这句也报异常了