2012-03-26 61 views
0

我需要将一个变量传递给javascript函数,但是我遇到了一些麻烦。 在cs文件,我写的是这样的:将变量传递给c#代码中的javascript函数

string id = "someid"; 
this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction("+id+")\">")); 

我需要使用这个id的值,但在执行console.log(ID),它只是显示“对象”,而不是“someid “,有什么问题?

+0

不要忘记,以纪念答案accpeted它是否适合你... – 2012-03-26 13:39:44

回答

2

只需添加'围绕ID为我做了如下能够解决您的问题

this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction('"+id+"')\">")); 
+0

谢谢,有用! – 2012-03-27 00:41:56

3

查看生成的HTML:

<input type="button" onClick="myFunction(someid)"> 

你生成一个变量名,当你想要一个字符串。

添加一些引号。


每当您遇到在浏览器中出现的问题时:请首先查看浏览器正在处理的代码。你应该首先确定你想要的JS是不是工作,或者如果服务器端代码不生成你想要的JS。

+0

当我遇到这样的问题时,你真的给了我一个很好的建议。 – 2012-03-27 00:42:55

1

问题是,它正在寻找名为someid的页面上保存的变量,这就是为什么你要在控制台中获取对象。 Pranay Rana有一个很好的解决方案,那就是确保字符串someid被单引号包围。

2

周围使用ID的单引号:

“‘+编号+’”(注意单引号,然后双引号)