样式禁用ASP.NET Linkbutton与背景图像

时间:2011-10-10 14:25:32

标签: asp.net css linkbutton

我使用的是一个简单的ASP.NET链接按钮控件。

<asp:LinkButton ID="LinkButtonDelete" runat="server" CssClass="linkButtonDelete">Delete</asp:LinkButton>

我使用以下css定义设置此按钮的样式:

.linkButtonDelete:link
{
    background: transparent url(/../images/btnRegular.png) no-repeat scroll 0 0 !important;
}
.linkButtonDelete:hover
{
background: transparent url(/../images/btnHighlight.png) no-repeat scroll 0 0 !important;
}

这就是问题所在:如果我禁用了linkbutton(LinkBut​​tonDelete.Enabled = false;)然后将鼠标悬停在链接按钮上,则背景图片会显示btnHighlight.png(而不是btnRegular.png)。我在IE9和Chrome中测试了这个。同样的效果。

我是否有机会仅使用CSS应用“禁用”样式(请不要使用Javascript!)?

由于

2 个答案:

答案 0 :(得分:2)

我保留了我的另一个答案,因为它也可以正常工作,但是如果你想要一个纯粹的CSS解决方案,请查看从CSS 2.1开始支持的属性选择器。假设ASP.NET设置了disabled属性,你可以添加如下内容:

.linkButtonDelete[disabled="disabled"]:hover
{
background: something else;   
}

答案 1 :(得分:1)

听起来它的表现与你告诉它完全一样。它显示了悬停。如果您不希望它显示悬停,当您禁用该按钮时,听起来您需要将Class设置为其他内容并创建一个没有悬停的新类。

LinkButtonDelete.Enabled = false;
//then
LinkButtonDelete.Attributes["class"] = "linkButtonDeleteDisabled"; // give it a new class

 LinkButtonDelete.CssClass = "linkButtonDeleteDisabled";