<asp:Repeater ID="repeaItem" runat="server" onitemcommand="repeaItem_ItemCommand" 
        onitemdatabound="repeaItem_ItemDataBound"> 
     
<HeaderTemplate>
<table width="100%" id="table" runat="server" border=0 align="center">  
</HeaderTemplate> 
<ItemTemplate>
<tr>
 <li><asp:LinkButton ID="linkItem" runat="server" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>'><%#Eval("CaseName")%></asp:LinkButton></li>
</tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate></asp:Repeater>
当点击linkbutton里的每一项时,改变他的背景色。解决后,立马给分。很急的

解决方案 »

  1.   

    <asp:LinkButton ID="linkItem" runat="server" Command="linkItem_Command" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>'><%#Eval("CaseName")%></asp:LinkButton>-----------------------public void linkItem_Command(object sender,CommandEventArgs e)
    {
         LinkButton lb = sender as LinkButton;
         lb.BackgroundColor = System.Drawing.Color.Red;
    }
      

  2.   

    <asp:LinkButton ID="linkItem" runat="server"  Command="linkItem_Command" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>'><%#Eval("CaseName")%></asp:LinkButton>-----------------------public void linkItem_Command(object sender,CommandEventArgs e)
    {
         LinkButton lb = sender as LinkButton;
         lb.ForeColor= System.Drawing.Color.Red;
      

  3.   

    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName=="look")//查找备注按钮并执行相应操作
             {
                HtmlTableRow col = (HtmlTableRow)e.Item.FindControl("r1");
                    col.BgColor = "#889998";         }

    试试
      

  4.   

    3楼的方法报分析器错误 
    说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误消息: System.Web.UI.HtmlControls.HtmlTableCellCollection 必须具有类型为“System.Web.UI.HtmlControls.HtmlTableCell”的项。“li”的类型为“System.Web.UI.HtmlControls.HtmlGenericControl”。源错误: 
    行 27: 
    行 28: <tr>
    行 29:  <li><asp:LinkButton ID="linkItem" runat="server" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>'><%#Eval("CaseName")%></asp:LinkButton></li>
    行 30: </tr>
    行 31: 
     源文件: /Gongchenganli/gongchenganli.aspx    行: 29 的错
      

  5.   

    1楼的方法我用过了。不是要这种效果,我要改变当前行的颜色,而不是单独的linkbutton颜色。你在看看有其他的方法没有?
      

  6.   

    用控件的就不知道了,你可以试试不用控件,for输出,然后JS事件更改它的背景色
      

  7.   

    试过了,//if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)            //{
                //    //(e.Item.FindControl("linkItem") as LinkButton).BorderColor = System.Drawing.Color.AntiqueWhite;
                //   //(e.Item.FindControl("linkItem") as LinkButton).Attributes["onmouseover"] = "javascript:this.style.backgroundColor='AliceBlue';";
                //   //(e.Item.FindControl("linkItem") as LinkButton).Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#FFFFFF';";
                //}
                //if (e.CommandName.ToString() == "look")
                //{
                //    System.Web.UI.HtmlControls.HtmlTable myTable = (System.Web.UI.HtmlControls.HtmlTable)e.Item.FindControl("table");
                //    myTable.Attributes.Add("style", "background-color:#ff0000;");
                //}都不行,
    有谁帮我看看没有?
      

  8.   

    如果楼主会skin 的话 可以使用
    protected void repeaItem_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
       if(e.CommandName=="look"){
         e.Item.ApplyStyleSheetSkin(你的主题样式);
        }
    }
    不会的话 还是给没一项加个层用JS 改变吧
      

  9.   

    <tr runat="server" id="redid">
     <li><asp:LinkButton ID="linkItem" runat="server" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>'><%#Eval("CaseName")%></asp:LinkButton></li>
    </tr>后台e.Item.FindControl("redid") 找到tr对象设置背景色
      

  10.   

          protected void repeaItem_ItemCommand(object source, RepeaterCommandEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {
                    switch (((LinkButton)e.CommandSource).CommandName)
                    {
                        case "look"://修改
                            HtmlTable myTable = (HtmlTable)e.Item.FindControl("MyTable");
                            myTable.BgColor = "#ff0000"                        break;
                    }
                }
            }
    测试是成功。
      

  11.   

    <!--li去掉-->
    <tr>
     <asp:LinkButton ID="linkItem" runat="server" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>'><%#Eval("CaseName")% onclick="setStyle(this)"></asp:LinkButton></tr>
    -----------------------<!--在脚本里面修改颜色-->
    function setStyle(e)
    {
        e.parent.style.background-color=#ff0000;
    }
      

  12.   


    jq:
       $(function(){  
        $("li").live("click",function(){  
            if($(this).css("background")=="red"){  
                $(this).css("background","");  
            }else{  
                $(this).css("background","red");  
                $("li").not($(this)).css("background","");  
            }  
        });  
    }); 
      

  13.   

    问问你领导吧,这样快点,不然开发速度太慢了!!!!行背景色用jquery做容易些
      

  14.   

    JQ   或者 设置 runat="server“
      

  15.   

    $(function(){
      $("#table tr li").click(function(){
         $(this).css("background","#CCC");  
       });
    });用jQuery实现的,你要在页面里添加jq的引用。
    <script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery.js"></script>
      

  16.   

    <tr>
    <td>
      <li id="flag_1"><asp:LinkButton ID="linkItem" runat="server" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>' FlagNum="1"><%#Eval("CaseName")%></asp:LinkButton></li>
    </td> 
    </tr>
    js
    <script type="text/javascript">
     function changeBgColor(flag_num)
    {
    var tr=$("#flag_"+flag_num).parent().parent();
    tr.siblings("tr").css({"background":"none"});//清楚其他行的背景色
    tr.css({"background":"#eeebbb"});//设置当前行背景色
    }
    </script>
    后台ItemCommand事件中,在当前点击事件中写
    LinkButton linkItem=e.Item.FindControl("linkItem") as LinkButton;
    ClientScript.RegisterStartupScript(this.GetType(),"changeBg","$(function(){changeBgColor("+linkItem.Attributes["FlagNum"]+");})",true);
      

  17.   

    或者把li变成服务器控件,单击按钮jquery获取到添加个样式就完事了 runt=“server”
      

  18.   

    protected void linkItem_Click(object sender, EventArgs e)
      {
        LinkButton b = sender as LinkButton;
        int index = -1;
        Int32.TryParse(b.CommandArgument, out index);
        Panel x = Repeater1.Items[index].FindControl("divShow") as Panel;
        x.Attributes.Add("style", "background:red");
      }
    <asp:Panel ID="divShow" runat="server">//设置个panel显示颜色
            <asp:LinkButton ID="linkItem" onclick="OnClick_Click" runat="server" CommandName="look" CommandArgument='<%#Eval("CaseValue") %>'><%#Eval("CaseName")%></asp:LinkButton>
    </asp:Panel>