2012-06-21 43 views
2

我需要将一个变量传递给JavaScript函数,但我有点麻烦。在cs文件,我已经写了:Javascript函数参数字符转义

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

正如你可以看到有在ID的'(单引号)。有什么办法可以解决这个问题吗?

+0

可能的重复[在C#中的JavaScript消费逃逸报价](http://stackoverflow.com/questions/806944/escape-quote-in-c-sharp-for-javascript-consumption) –

+0

这两个字符串显示正常我在Chrome中。 – jsonnull

回答

0

你应该逃脱你的字符串,这将导致:

id = "some\'id"; 
2

逃生'\(反斜杠)。例如,在你的代码

string id = "some'id".Replace("'","#"); 

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

希望

console.log('string with \''); 
0
<script type="text/javascript"> 
    function myFunction(someid) { 
     someid = someid.replace('#', '\''); 
     alert(someid); 
    } 
</script> 

这将帮助你..

1

让您远离字符串这样那样的人物 “/”, “\”, “'”

示例

string id = "some/'id";