-->

Why are linkbuttons not grayed out when disabled i

2019-03-20 01:46发布

问题:

Why when I set enabled=false on a button does it not render correctly in Firefox? Instead of graying out the link it is still blue.

[UPDATE]

ASP.net already removes such tags on the link so the only thing that is needed is to grey out he link. In other words a CSS style change not a functionality change.

The following effectively resolved the disabled buttons not showing up as grayed out in firefox and google chrome. I put this into my style sheet and now all my link buttons render correctly.

a[disabled]{
color:Grey !important; text-decoration:none !important; }

回答1:

a[disabled]
{
   color:Grey; text-decoration:none;
}

worked for me, Thank you...



回答2:

From W3Scholl, "Enabled" Property isn't standard property of XHTML 4(It's Microsoft standard.). You should remove href property from hyperlink or using my following code

// cancel click event.
LinkButton1.Attributes["OnClick"] = "return false;";
// set css to display same disabled link in all browser
LinkButton1.CssClass = "LinkButton_Disabled";


回答3:

When you disable a button it adds "aspNetDisabled" class to the button. so you can easily set the "aspNetDisabled" class with whatever you want.

 .aspNetDisabled {
        color: black;
        background-color: #e3e3e3;
        text-decoration: none;
    }


回答4:

In C#, I found that an extension is the most helpful to create a cross-browser solution.

public static class Extensions
{
    public static void Disable(this HtmlAnchor obj)
    {
        obj.Attributes.Remove("href");
        obj.Attributes.Add("disabled", "true");
        obj.Style.Add("color", "gray");
    }
}


回答5:

The solution below is for buttons not link but it can be done for link as well.

var obj = document.getElementById('buttonId'');
getLabel = function(elem){
if (elem.id && elem.id=="label") {
elem.id = "disabledLabel";
}
};            
Dom.getElementsBy(getLabel ,'td', obj);

This will show button as disable or grayed out.