Search code examples
javascript.netasp.netlinkbutton

How to enable asp:LinkButton on client side


I have asp:LinkButton, input Button defined as:

<asp:LinkButton ID="lnkViewPdf" runat="server" CssClass="icoMiniTest" ClientIDMode="Static" >View Office Pdf</asp:LinkButton>   
<input id="Button2" type="button" value="TestEnable" onclick="TestEnable(document.getElementById('lnkViewPdf'));"  />

the LinkButton is initially disabled in code-behind as:

    if (!IsPostBack)
    {
        this.lnkViewPdf.Enabled = false;
    }

and needs to be enabled when Button2 is clicked, so I am calling javascript function to enable the link as:

function TestEnable(lnkbutton) {
        alert('TestEnable() called');
        alert(lnkbutton.id);
        lnkbutton.disabled = "";
        //$("#lnkbutton").removeAttr('disabled');  //even this doesn't work
    }

But I am not able to enable the linkbutton.

Am I missing something?

Thank you!

__________________________________________________

Anyone interested in solution to above problem:
In code-behind:

this.lnkViewPdf.Attributes["disabled"] = "disabled";
this.lnkViewPdf.Attributes["onclick "] = "return false";

.js:

function TestEnable(lnkbutton) {
         $(lnkbutton).removeAttr('disabled');
        lnkbutton.onclick = "";    
}

NOTE: When setting lnkViewPdf.Enabled = false; LinkButton was being rendered as

<a id="lnkViewPdf" class="aspNetDisabled icoMiniTest">View Office Pdf</a>

see the style class aspNetDisabled, something added by ASP.Net
However setting disabled/onclick attributes from the codebehind as shown above, render Linkbutton as:

<a id="lnkViewPdf" class="icoMiniTest" disabled="disabled" onclick ="return false" href="javascript:__doPostBack(&#39;lnkViewPdf&#39;,&#39;&#39;)">View Office Pdf</a> 

HTH.


Solution

  • Try now...

    function TestEnable(lnkbutton) {
        lnkbutton.disabled = "";
        lnkbutton.onclick = "";
    }