2010-08-11 167 views
1

我有一个锚链接:<a id="linkOwner" runat="server"></a> 在我的代码隐藏中,我禁用它基于一些条件如:linkOwner.Disabled = true;但链接仍然是可点击的。如何解决?锚链接禁用

回答

1

如果您使用ASP LinkBut​​ton控件,我认为您可以在服务器端禁用它,它会在客户端上正确禁用它。虽然不积极。另一种方法是使用JavaScript。在过去,我已经使用jQuery向返回false的空事件添加一个单击事件给禁用的锚点。例如:

function disabler(){ return false; } 
$('#linkOwner').click(disabler); 
//to reactive the link 
$('#linkOwner').unbind('click', disabler); 

返回false让jQuery知道不会冒泡事件。

1

解决办法有两个:

  1. 更改锚标签的<asp:HyperLink>那么你就可以在您认为合适设置Enabled属性。

  2. 你需要的属性,

linkOwner.Attributes["disabled"] = "disabled"; 
0

禁用锚点按钮调用JavaScript的空隙功能和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   
    } 
}