GridView TemplateField 动态添加取消颜色

在对 Gridview 模板列设置选中行的颜色时,采用 默认的 SelectRowStyle 时,不能在选中一个模板列时,改变它的颜色, 需要采用别的办法才能实现.

     前台代码:

              ...............

            <asp:TemplateField ShowHeader="False">
                                                      <ItemTemplate>
                                                         <asp:LinkButton ID="linkstoreerName" runat="server" StoreerID='<%#Eval("StoreerID") %>'  Text='<%#Eval("StoreerName")%>' OnClick="linkstoreerName_Click" />
                                                      </ItemTemplate>
                                                  </asp:TemplateField>

             .................

   后台代码:

           //如果有已经设置了颜色的行,先去掉设置的颜色

            int index = -1;
            if (ViewState["index"] != null)
            {
                int inex = Int32.Parse(ViewState["index"].ToString());
                gvwrestaurant.Rows[inex].Attributes.Clear();
            }

            LinkButton linkstoreerName = sender as LinkButton;
            string StoreerID = linkstoreerName.Attributes["StoreerID"].ToString();
            GridViewRow row = (GridViewRow)linkstoreerName.Parent.Parent;
             index = row.RowIndex;
           //对当前行设置颜色
            row.Attributes.Add("style", "background:#ff6600");
            ViewState["index"] = index;

原文地址:https://www.cnblogs.com/activities/p/2178974.html