我有asp:LinkBut​​ton,输入Button定义为:

<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'));"  />


LinkBut​​ton最初在以下代码中被禁用:

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


并且需要在单击Button2时将其启用,因此我在调用javascript函数以将链接启用为:

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


但是我无法启用链接按钮。

我想念什么吗?

谢谢!

__________________________________________________

任何对解决上述问题感兴趣的人:
在后面的代码中:

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


.js:

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


注意:设置lnkViewPdf.Enabled = false时; LinkBut​​ton被渲染为

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


看到样式类aspNetDisabled,由ASP.Net添加
但是,如上图所示,从后面的代码中设置禁用/单击属性,将Linkbutton渲染为:

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


HTH。

最佳答案

现在试试...

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

07-24 16:51