[英]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 我想更改中继器控件内部的linkbutton的CSS类,在中继器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";
}
}
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 如何更改文件后面代码中的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>
Can you try with this code. 您可以尝试使用此代码。 Replace you if condition to set isread = false
with below code 如果使用以下代码将条件设置为isread = false
,请替换您
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? 让我们知道错误是否仍然存在?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.