在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>
你能试试这个代码吗。如果条件是用以下代码设置isread = false
,请替换您
if (btnread.CssClass.Equals("red-read",StringComparison.InvariantCultureIgnoreCase))
{
isread = false;
}
还有这个的命令名称条件
if (e.CommandName.Equals("read",StringComparison.InvariantCultureIgnoreCase))
让我们知道是否仍然存在错误?