[英]Facebox plugin onClick do something
我正在使用facebox插件獲取鏈接,但我也想在onClick上做一些事情。
我嘗試做onclick事件:( 我正在使用文字來實現,也許這是問題所在)
litWorkplaceButton.Text = "<a class='google-button' href=\"#dialog-form\" id='btnSaveForLater' rel='facebox' onclick=\"addSaveList\" runat='server'>Save for later</a>";
但是出現以下錯誤:
'addSaveList' is undefined
並且我將我的方法定義為void protected addSaveList(){}
我只想將項目的ID保存在表上,所以我需要在頁面后面進行編碼!
我試圖對<asp:LinkButton>
(在后面的代碼中)和普通文本使用文字,錯誤結果向我顯示:
<asp:LinkButton ID="searchLinkk" runat="server" onclick="searchLink_Click">Search</asp:LinkButton>
<a id="CPHcontent_searchLinkk" href="javascript:__doPostBack('ctl00$CPHcontent$searchLinkk','')">Search</a>
通常將其轉換為帶有href =“ javascript:__ doPostBack”的標簽
但是我必須使用文字,因為只有在發生事件(用戶登錄)時才顯示此按鈕。
還有另一種方法可以做,還是我做錯了什么?
這里的問題是,您通過Literal
的Text
屬性插入到頁面中a
標簽未被識別為服務器控件。 OnClick
屬性被識別為javascript事件。
如果用戶未登錄,您仍然可以使用LinkButton
並簡單地在其上設置Visible
屬性。將類似以下內容的代碼放在Page_Load
方法的后面:
searchLinkk.Visible = User.IsAuthenticated;
您的問題是您誤解了文字控件的目的。 它僅用於將text / html注入頁面,而不能用於動態添加服務器控件。 為此,您應該使用占位符控件。
您得到'addSaveList' is undefined
錯誤,因為當瀏覽器看到“ onclick”屬性(出於多種原因不應使用)時,它將嘗試將其綁定到名為addSaveList
的全局Javascript方法,該方法不存在。
是的,不要使用內聯JS(它的語義不好),它總是會困擾您。 而是將腳本放在單獨的腳本文件中,並在標題中鏈接到該腳本文件,並使其包含此文件。
$(document).ready(function() {
// Put your method here
});
祝好運,
-布萊恩
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.