JavaScript 関数に変数を渡す必要があるのですが、ちょっと面倒です。.cs ファイルには、次のように記述しました。
string id = "some'id";
this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction('"+id+"')\">"));
ご覧のとおり'
、id に (一重引用符) があります。この問題を回避する方法はありますか?
JavaScript 関数に変数を渡す必要があるのですが、ちょっと面倒です。.cs ファイルには、次のように記述しました。
string id = "some'id";
this.Controls.Add(new LiteralControl("<input type=\"button\" onClick=\"myFunction('"+id+"')\">"));
ご覧のとおり'
、id に (一重引用符) があります。この問題を回避する方法はありますか?
(バックスラッシュ)でエスケープ'
します。\
例えば、
console.log('string with \'');
そのような種類の文字の文字列をエスケープする"/"、"\"、"'"
例
string id = "some/'id";
<script type="text/javascript">
function myFunction(someid) {
someid = someid.replace('#', '\'');
alert(someid);
}
</script>
あなたのコードで
string id = "some'id".Replace("'","#");
this.Controls.Add(new LiteralControl("<input type=\"button\" value=\"Test\" onclick=\"myFunction('" + id + "');\">"));
これがお役に立てば幸いです。
string をエスケープする必要があります。これにより、次のようになります。
id = "some\'id";