简体   繁体   中英

Change CSS class of LinkButton in Repeater Itemcommand Event

I want to change CSS class of linkbutton which is inside repeater control,in repeater itemcommand event, I am using this code

 if (e.CommandName == "read")
                {
                    LinkButton btnread = (LinkButton)e.Item.FindControl("cmdread");             
                     bool isread = true;
                    if (btnread.CssClass == "red-read")
                    {
                        isread = false;
                    }

                    if (isread)
                    {
                        btnread.CssClass = "";
                        btnread.CssClass = "red-read";

                    }
                    else
                    {
                        btnread.CssClass = "";
                        btnread.CssClass = "grey-read";
                    }

                    }

but its not working, I also tried this code

if (isread )
                    {
                        btnread.CssClass = btnread.CssClass.Replace("grey-read","red-read");


                    }
                    else
                    {
                    btnread.CssClass = btnread.CssClass.Replace("read-read","grey-read");

                    }

How Can I change CSS class in code behind file This is my repeater control

<asp:Repeater ID="rptData" runat="server" DefaultItemsPerPage="15" ShowItemsPerPageOptions="true"
                         ShowPageControls="true"
                        PageControlsPlaceHolder="phFooterControls" NoResultsControl="lblNoResults" OnItemDataBound="rptData_ItemDataBound"
                        OnItemCommand="rptData_ItemCommand">
                        <HeaderTemplate>
                            <table width="100%" border="0" cellspacing="2" cellpadding="0" class="datatable">
                                <tr>
                                   <th>Name</th>
                                   <th>Location</th>
                                   <th></th>
                                </tr>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <tr>                               
                                <td>
                                    <%#Eval("Firstname")%>
                                </td>
                                <td>
                                    <%#Eval("Location")%>
                                </td>                                                        
                               <td>                                                                 
                                  <asp:LinkButton ID="cmdread" runat="server" CssClass="red-read" CommandName="read"
                                        CommandArgument='<%#Eval(this.PKField) %>'></asp:LinkButton>
                                </td>
                            </tr>
                        </ItemTemplate>
                        <AlternatingItemTemplate>
                            <tr>
                                     <td class="alt">
                                    <%#Eval("Firstname")%>
                                </td>
                                <td class="alt">
                                    <%#Eval("Location")%>
                                </td>                                                         
                               <td class="alt">
                                  <asp:LinkButton ID="cmdread" runat="server" CssClass="red-read" CommandName="read"
                                        CommandArgument='<%#Eval(this.PKField) %>'></asp:LinkButton>
                                </td>
                            </tr>
                        </AlternatingItemTemplate>
                        <FooterTemplate>
                            <tr>
                                <td colspan="9" class="tablefooter">
                                    <div class="FloatLeft" style="width: 475px;">
                                        <asp:PlaceHolder ID="phFooterControls" runat="server" />
                                    </div>
                                    <div class="FloatRight" style="width: 90px; text-align: right;">
                                        <asp:PlaceHolder ID="phItemsPerPage" runat="server" />
                                    </div>
                                    <div class="FloatClear">
                                    </div>
                                </td>
                            </tr>
                            </table>
                        </FooterTemplate>
                    </asp:Repeater>

Can you try with this code. Replace you if condition to set isread = false with below code

if (btnread.CssClass.Equals("red-read",StringComparison.InvariantCultureIgnoreCase))
{
      isread = false;
}

Also command name condition with this

if (e.CommandName.Equals("read",StringComparison.InvariantCultureIgnoreCase))

Let us know if still error persists or not?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM