在Repeater Itemcommand事件中更改LinkButton的CSS类

本文关键字:LinkButton CSS Repeater Itemcommand 事件 | 更新日期: 2023-09-27 18:23:35

我想更改中继器控件内链接按钮的CSS类,在中继器项命令事件中,我使用的是此代码

 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";
                    }
                    }

但它不起作用,我也尝试了这个代码

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

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

如何更改代码隐藏文件中的CSS类这是我的中继器控制

<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>

在Repeater Itemcommand事件中更改LinkButton的CSS类

你能试试这个代码吗。如果条件是用以下代码设置isread = false,请替换您

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

还有这个的命令名称条件

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

让我们知道是否仍然存在错误?