在Repeater Itemcommand Event中更改LinkBut​​ton的CSS类

时间:2013-07-17 07:17:16

标签: c# asp.net

我想更改在转发器控件内的linkbutton的CSS类,在repeater itemcommand事件中,我正在使用此代码

 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>

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码吗?如果条件设置isread = false以下代码

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

使用此

命令名称条件
if (e.CommandName.Equals("read",StringComparison.InvariantCultureIgnoreCase))

如果仍然存在错误,请告诉我们?