2013-05-10 45 views
1

我試圖調用一個javascript函數。調用一個帶有參數的javascript函數綁定到中繼器

function callSubClass(SubClassName) { 
    ... 
} 

但我想在裏面的中繼器調用它參數「SubClassName」是綁定到我的中繼器的字符串。

<asp:Repeater ID="rptSubClass" runat="server"> 
    <ItemTemplate> 
    <asp:LinkButton Text='<%# Eval("SubClassName") %>' runat="server" ID="linkHomeItem" OnClick='<%# callSubClass(Eval("SubClassName")); return false; %>'/> 
    <br /> 
    </ItemTemplate> 
</asp:Repeater> 

但每次我運行它時我得到一個編譯錯誤說:

CS1040:預處理器指令必須作爲第一個非空格字符在一條線上的錯誤現在

我知道錯誤出現在OnClick ='東西'上,但我已盡全力讓它工作。這是我到目前爲止所嘗試的清單。

OnClick='<%# callSubClass(Eval("SubClassName")); return false; %>' 
OnClick='callSubClass(<%# Eval("SubClassName") %>); return false;' 
OnClick='"callSubClass("+<%# Eval("SubClassName") %>+"); return false;"' 

我在做什麼錯?感謝您提供的任何幫助。

回答

4

嘗試就像這個...而不是Onclick使用OnClientClick運行JavaScript代碼.....

OnClientClick='<%# @"callSubClass("""+Eval("SubClassName").ToString()[email protected]""");return false;" %>' 
+0

它的工作原理謝謝。 :)但是,你能解釋一下帶「@」的部分嗎? – snaplemouton 2013-05-10 17:24:49

+0

@snaplemouton @用於字符串來轉義sqequence,並在字符串中包含雙引號。必須寫@「」「」它會打印「像這樣是鏈接,它在技術術語中解釋http:// stackoverflow .com/questions/556133/whats-the-in-front-of-a-string-in-c – 2013-05-10 17:29:31

+0

謝謝你的幫助。:) – snaplemouton 2013-05-10 17:40:42

相關問題