2010-08-10 102 views
0

我用這個,爲什麼不在asp.net中工作?

<a title="Logout" onclick="javascript:document.getElementById('ctl00_ContentPlaceHolder1_LbLogout').click();" href="#" class="logout">Logout</a></li> 
<asp:LinkButton ID="LbLogout" runat="server" style="display:none" 
    onclick="LbLogout_Click">Sign out</asp:LinkButton> 

錨標籤似乎不火我了LinkBut​​ton onclick事件......

回答

2

檢查是否有任何JavaScript錯誤。也看看頁面源代碼,看看你的控件和你的javascript代碼之間的id是否匹配。嘗試將控件名稱更改爲使用UniqueID,而不是直接編碼,以防命名模板層次結構不同。

<a title="Logout" onclick="javascript:document.getElementById('<%= Lblogout.UniqueID %>').click();" href="#" class="logout">Logout</a></li> 
0

除了命名問題:

  • 您必須return false從鏈接onclick處理程序,否則#鏈接將接踵而至,消除可能從其他的鏈接點擊發生任何導航(並將頁面滾動到頂部);

  • 請勿在事件處理程序屬性中使用javascript:前綴。他們什麼都不做。你在考慮javascript:僞網址。無論如何,這絕不應該被使用;

  • 您無法通過調用click()來激活鏈接的默認操作(瀏覽頁面)。所有click()將執行任何onclick與其關聯的JS操作。如果你想瀏覽頁面,你必須手動設置location.href= link.href;

  • 請勿將鏈接用於具有主動效果的內容,例如註銷。它應該是一個普通的形式按鈕。您始終可以使用CSS來設置它的樣式,使其看起來像一個鏈接。