C# 更改Repeater Itemcommand事件中LinkButton的CSS类
我想更改位于repeater控件内的linkbutton的CSS类,在repeater itemcommand事件中,我正在使用此代码C# 更改Repeater Itemcommand事件中LinkButton的CSS类,c#,asp.net,C#,Asp.net,我想更改位于repeater控件内的linkbutton的CSS类,在repeater itemcommand事件中,我正在使用此代码 if (e.CommandName == "read") { LinkButton btnread = (LinkButton)e.Item.FindControl("cmdread"); bool isread = tr
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");
}
但它不起作用,我也试过这个代码
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))
让我们知道错误是否仍然存在?值IsFlag,它在哪里设置?亲爱的@syed为什么不使用jquery,因为它可以让您更轻松地使用jqueryyou@unseendreamzzz你能给我一些使用jquery和repeater的示例代码/教程吗?@HassanMokdad查看我的更新问题]你能提供你的HTML代码吗?如果(btnread.CssClass==“红色读取”)此代码工作正常,我必须根据isread值更改上的CSS类,该值符合预期。我认为代码工作正常。但问题在于CSS。可能是浏览器上没有CSS类或CSS样式。检查CSS是否已注册?尝试检查页面源代码或firebug(在firefox中)或开发工具(在IE中)。在第二个代码块中,“red read”的拼写是“read read”