我需要将一个变量传递给JavaScript函数,但我有点麻烦。在cs文件,我已经写了:Javascript函数参数字符转义
string id = "some'id";
this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction('"+id+"')\">"));
正如你可以看到有在ID的'
(单引号)。有什么办法可以解决这个问题吗?
我需要将一个变量传递给JavaScript函数,但我有点麻烦。在cs文件,我已经写了:Javascript函数参数字符转义
string id = "some'id";
this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction('"+id+"')\">"));
正如你可以看到有在ID的'
(单引号)。有什么办法可以解决这个问题吗?
你应该逃脱你的字符串,这将导致:
id = "some\'id";
逃生'
与\
(反斜杠)。例如,在你的代码
string id = "some'id".Replace("'","#");
this.Controls.Add(new LiteralControl("<input type=\"button\" value=\"Test\" onclick=\"myFunction('" + id + "');\">"));
希望
console.log('string with \'');
<script type="text/javascript">
function myFunction(someid) {
someid = someid.replace('#', '\'');
alert(someid);
}
</script>
这将帮助你..
让您远离字符串这样那样的人物 “/”, “\”, “'”
示例
string id = "some/'id";
可能的重复[在C#中的JavaScript消费逃逸报价](http://stackoverflow.com/questions/806944/escape-quote-in-c-sharp-for-javascript-consumption) –
这两个字符串显示正常我在Chrome中。 – jsonnull