锚链接禁用

时间:2010-08-11 14:17:59

标签: c# asp.net anchor

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

3 个答案:

答案 0 :(得分:1)

如果您使用ASP LinkBut​​ton控件,我认为您可以在服务器端禁用它,它将在客户端上正确禁用它。虽然不是积极的。另一种方法是使用javascript。在过去,我使用jQuery将一个click事件添加到已禁用的锚点,并返回一个返回false的空事件。类似的东西:

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

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

答案 1 :(得分:1)

有两种解决方案:

  1. 将锚标记更改为<asp:HyperLink>,然后您可以根据需要设置Enabled属性。

  2. 您需要在控件中添加属性,如

  3. 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        
    }
}