2011-12-29 144 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的