通过javasript改变 datalist里面div层的背景色
 是这样子的
    我在数据库里面有一个表,其中一个字段时1,2,3,4,5,6,7。。    然后前台我绑定了这个字段,在asp.net里面的datalist的项模板里面放一格div,然后通过前台判断如果是1,那么div的背景色就是红,2就是黄,3就是。
怎么弄啊!谢谢拉,我刚注册,原奉献所有分数!

解决方案 »

  1.   

    你可以这样,在datalist模版里再放一个服务器隐藏控件来帮定这个字段,
    然后用js遍历服务器hidden控件的值,判断该指来操作它的兄弟结点div的背景色
      

  2.   

    建议在后台动态生成div的id,例如字段1时生成id=div1,2时生成div2,在通过css来达到你要的效果
      

  3.   

    <asp:DataList ID="DataList1" RepeatColumns="1" runat="server" OnItemDataBound="DataList1_ItemDataBound" OnItemCreated="DataList1_ItemCreated">
    <ItemTemplate>
         <asp:Label ID="Id" runat="server" Text=<%#Eval("id")%>></asp:Label>
         <asp:Label ID="Name" runat="server" Text=<%#Eval("name")%>></asp:Label>
    </ItemTemplate>
    </asp:DataList>protected void DataList1_ItemDataBound ( object sender, DataListItemEventArgs e )
        {
            if ( ( ( Label ) e.Item.FindControl ( "EmpId" ) ).Text == "1" )
            {
                e.Item.BackColor = System.Drawing.Color.Red;
            }
            if ( ( ( Label ) e.Item.FindControl ( "EmpId" ) ).Text == "2" )
            {
                e.Item.BackColor = System.Drawing.Color.Blue;
            }
        }
      

  4.   

    修正
    FindControl   (   "EmpId"   )------->FindControl   (   "Id"   )
      

  5.   

    没看清 你是想用js:
    <script type="text/javascript">
    var   dataListId = "<%=DataList1.ClientID%>";
          function ChangeLineColor()
          {
             var rows=document.getElementById("DataList1").rows;
             for(i=0; i<rows.length; i++)
             {
                  if(rows[i].cells[0].getElementsByTagName("span")[0].innerHTML == "1")
                  {
                      rows[i].style.backgroundColor="#FF0000";
                  }
                  if(rows[i].cells[0].getElementsByTagName("span")[0].innerHTML == "2")
                  {
                      rows[i].style.backgroundColor="#00FF00";
                  }
                  if(rows[i].cells[0].getElementsByTagName("span")[0].innerHTML == "3")
                  {
                      rows[i].style.backgroundColor="#0000FF";
                  }
             }
          }
          window.onload=ChangeLineColor;
    </script>注意你得id字段必须放在第0列 与 getElementsByTagName("span")[0]对应
      

  6.   

    感谢changke18   已经解决!