无法从代码后面禁用服务器端HtmlAnchor

时间:2013-08-07 20:44:49

标签: c# asp.net

我试过了:

btnSubmitPhaseBackward.Disabled = true;
btnSubmitPhaseBackward.Attributes.Add("disabled", "true");
btnSubmitPhaseBackward.Attributes.Add("disabled", "disabled");

这是标记:

<a id="btnSubmitPhaseBackward" runat="server" onclick="saveEvent('backward');this.blur();return false;" href="javascript:void(0);" ><span id="btnSubmitPhaseBackwardValue" runat="server">Submit</span></a>

无论是工作还是在客户端进行操作都不是一种选择。必须从服务器端禁用它,但如果需要,它需要能够从javascript重新启用。

2 个答案:

答案 0 :(得分:2)

您已将 点击事件 附加到锚点。

因此,从服务器端禁用的唯一方法是删除click事件。

btnSubmitPhaseBackward.Attributes.Remove("onclick");

如果您想在客户端重新启用它,您只需要重新连接Click事件。

答案 1 :(得分:0)

试试这个:

btnSubmitPhaseBackward.Attributes.Add("disabled", "disabled");

更新:

事实证明,disabled属性并没有真正按照您的想法执行,要真正禁用HtmlAnchor您必须删除href属性,如下所示:< / p>

btnSubmitPhaseBackward.Attributes.Remove("href");

要重新启用HtmlAnchor,您需要添加href属性,如下所示:

btnSubmitPhaseBackward.Attributes.Add("href", "http://www.stackoverflow.com");