2010-08-11 110 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   
    } 
}