2011-12-29 73 views
0

我想通過ListView中的鏈接按鈕將參數傳遞給JavaScript函數,該函數僅警告傳遞的參數,所以我使用Eval(「Value」)作爲參數,但看來我犯了一個錯誤。通過ASP.NET ListView傳遞JavaScript參數

我傳遞的參數代碼

<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="hello(<%#string.Concat(Eval("Longitude"),",",Eval("Latitude")) %>);">LinkButton</asp:LinkButton> 

和報警功能非常簡單

function hello(x){ 
    alert(x); 
} 

和服務器標籤仍然沒有很好地形成。有任何想法嗎?

回答

0

當屬性包含服務器代碼時,您應該使用單引號'而不是雙引號"

<asp:Label ID="label1" runat="server" OnClientClick='<%#Eval("Foo")%>' /> 
+0

當我試圖調用Java腳本函數 – Islam 2011-12-29 02:23:12

+0

@Islam還試圖包圍了JavaScript的功能參數與報價這不利於:'你好(」 <%#Eval("")%>」 )'。您應該真的使用JavaScript控制檯進行調試。至少檢查頁面的源代碼以確保HTML格式正確。 – sshow 2011-12-29 02:30:36

+0

我確定HTML格式不正確,但我無法確定問題,所以我發佈了我的代碼來討論它。 – Islam 2011-12-29 02:39:06

0

您的代碼應該工作,但是,它看起來像綁定機制混亂。之前我一直在努力,並提出了以下解決方法。

  1. 向頁面後面的代碼添加一個方法。

    保護串CreateJavascriptCall(對象經度,緯度對象) { 返回的String.Format( 「你好({0},{1});返回false;」,經度,緯度); }

  2. 更改您的aspx頁面代碼:

    ASP:LinkBut​​ton的ID = 「LinkBut​​ton1」 RUNAT = 「服務器」 的OnClientClick =」 <%#CreateJavascriptCall(EVAL( 「經度」),評估和演示(「縱橫「))%>「> LinkBut​​ton的