【发布时间】:2011-05-26 15:22:54
【问题描述】:
我有asp:LinkButton,输入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'));" />
LinkButton 最初在代码隐藏中被禁用:
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; LinkButton 被渲染为
<a id="lnkViewPdf" class="aspNetDisabled icoMiniTest">View Office Pdf</a>
查看样式类 aspNetDisabled,由 ASP.Net 添加的东西
但是,如上所示从代码隐藏中设置 disabled/onclick 属性,将 Linkbutton 呈现为:
<a id="lnkViewPdf" class="icoMiniTest" disabled="disabled" onclick ="return false" href="javascript:__doPostBack('lnkViewPdf','')">View Office Pdf</a>
HTH。
【问题讨论】:
-
更改了我的解决方案以在禁用 LinkButton 控件服务器端时适应 .NET 行为
标签: javascript .net asp.net linkbutton