我需要将变量传递给javascript函数,但是我遇到了一些麻烦。 在.cs文件中,我这样写:
string id = "someid";
this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction("+id+")\">"));
我需要使用这个id的值,但是在console.log(id)中,它只显示“object”,而不是“someid”,这是什么问题?
答案 0 :(得分:3)
查看生成的HTML:
<input type="button" onClick="myFunction(someid)">
当您需要字符串文字时,您正在生成变量名称。
添加一些引号。
每当您遇到浏览器中出现的问题时:首先查看浏览器正在处理的代码。您应始终首先确定您想要的JS是否无效,或者服务器端代码是否未生成您想要的JS。
答案 1 :(得分:2)
只需添加''围绕ID,因为我在下面会解决您的问题
this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction('"+id+"')\">"));
答案 2 :(得分:2)
使用id:
周围的单引号'“+ id +”'(注意单引号然后加双引号)
答案 3 :(得分:1)
问题是它正在名为someid的页面上查找已保存的变量,这就是您在控制台中获取对象的原因。 Pranay Rana有一个很好的解决方案,即确保字符串someid被单引号包围。