我有一个锚点链接,如:<a id="linkOwner" runat="server"></a>
在我的代码隐藏中,我根据一些条件禁用它:linkOwner.Disabled = true;但仍然可以点击链接。如何解决?
答案 0 :(得分:1)
如果您使用ASP LinkButton控件,我认为您可以在服务器端禁用它,它将在客户端上正确禁用它。虽然不是积极的。另一种方法是使用javascript。在过去,我使用jQuery将一个click事件添加到已禁用的锚点,并返回一个返回false的空事件。类似的东西:
function disabler(){ return false; }
$('#linkOwner').click(disabler);
//to reactive the link
$('#linkOwner').unbind('click', disabler);
返回false让jQuery知道不要冒泡事件。
答案 1 :(得分:1)
有两种解决方案:
将锚标记更改为<asp:HyperLink>
,然后您可以根据需要设置Enabled
属性。
您需要在控件中添加属性,如
linkOwner.Attributes["disabled"] = "disabled";
答案 2 :(得分:0)
通过调用javascript void function和call
另一个doAction
函数来禁用锚点按钮,这将会影响你的状况。
HTML实施:
<a href='javascript:void(0);' onclick="doAction()">some text</a>
Javascript实施:
function doAction() {
if ( condition here ) {
// do X
} else {
// do Y action
}
}