2012-06-21 117 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";