前台代码
<asp:DataList ID="DlPhotoType" runat="server"  RepeatColumns="8" RepeatDirection="Horizontal" OnItemCommand="DlPhotoType_ItemCommand"  >
                                        <ItemTemplate>
                                            <asp:LinkButton ID="LinkButton1"  CommandName="Link"  runat="server"><%# Eval("PtName")%></asp:LinkButton>
                                        </ItemTemplate>
                                    </asp:DataList>
后台代码
        protected void DlPhotoType_ItemCommand(object source, DataListCommandEventArgs e)
        {
            if (e.CommandName == "Link")
            {
                var lbtnRe = ((LinkButton)e.Item.FindControl("LinkButton1"));
                lbtnRe.Attributes.Add("class", "center_a");
            } 
        }
我现在点击其中一个LinkButton变色好用,不过当点击另外的LinkButton 怎么把第一个点击的颜色去掉?
DataListLinkButton

解决方案 »

  1.   

    你应该每次选中的时候先把所有的LinkButton颜色清空,然后再设置你选中的LinkButton
      

  2.   


    问题是这样才能 清空这些LInkButton的颜色,求代码;
      

  3.   

    知道默认的颜色,能获得所有的LinkButton,给他们默认的颜色就行,比如全部白色!
      

  4.   

    不知道怎么获取所有的LInkButton,求大神代码
      

  5.   

     protected void DlPhotoType_ItemCommand(object source, DataListCommandEventArgs e)
            {
                if (e.CommandName == "Link")
                 {
                     for (int i = 0; i < DlPhotoType.Items.Count; i++)
                     {
                         for (int j = 0; j < DlPhotoType.Items[i].Controls.Count; j++)
                         {
                             if ("LinkButton".Equals(DlPhotoType.Items[i].Controls[j].GetType().Name))
                             {
                                 (DlPhotoType.Items[i].Controls[j] as LinkButton).CssClass = "";
                             }
                         }
                     } 
                    var lbtnRe = ((LinkButton)e.Item.FindControl("LinkButton1"));
                    lbtnRe.CssClass = "center_a";
                    
                } 
            }自己解决自己结贴吧