我需要將一個變量傳遞給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