![](/img/trans.png)
[英]Link button inside a Repeater control, how to change the background/foreground color of clicked item?
[英]Change link button color in Repeater
我使用的Data Repeater
和Link Button
內repeater
。 我想更改單擊button
的顏色,但是它不起作用。 這是我的代碼。
<asp:Repeater ID="rptPager" runat="server">
<ItemTemplate>
<asp:LinkButton Font-Size="Larger" BackColor="Orange" ForeColor="White" ID="lnkPage" runat="server" Text='<%#Eval("Text") %>' CommandArgument='<%# Eval("Value") %>'
CssClass=" btn"
OnClick="Page_Changed"></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
protected void Page_Changed(object sender, EventArgs e)
{
int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
LinkButton lnk = (LinkButton)sender;
lnk.ForeColor = System.Drawing.Color.Red;
lnk.BackColor = System.Drawing.Color.Red;
this.GetImagesPageWise(pageIndex);
}
這樣做吧。 為當前頁面LinkButton創建類
.Active
{
color:red;
font:bold 12px Tahoma;
}
然后按以下方式更改中繼器
<asp:Repeater ID="rptPager" runat="server">
<ItemTemplate>
<asp:LinkButton ID="lnkPage" runat="server" Text='<%#Eval("Text") %>' CommandArgument='<%# Eval("Value") %>'
Enabled='<%# Eval("Enabled") %>' OnClick="Page_Changed" CssClass='<%# Convert.ToBoolean(Eval("Enabled")) == true ? "LBR" : "Active" %>'></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<ul class="pagination">
<asp:Repeater ID="rptPager" runat="server">
<ItemTemplate>
<li class="<%#GetStatus(Eval("Enabled").ToString(),Eval("Text").ToString())%>">
<asp:LinkButton ID="lnkPage" runat="server" Text='<%#Eval("Text") %>' CommandArgument='<%# Eval("Value") %>'
Enabled='<%# Eval("Enabled") %>' OnClick="Page_Changed">
</asp:LinkButton>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
Protected Function GetStatus(ByVal Enable As Boolean, ByVal linkName As String) As String
Try
If Enable = 0 And linkName <> "First" And linkName <> "Last" Then
Return "active"
Else
Return ""
End If
Catch ex As Exception
Return ""
End Try
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.