如何从完全自由的文本字段中正确地转义所有必需的字符

时间:2013-06-04 13:24:18

标签: c# ajax json

我有一个表单中的textarea,我想成为一个完全免费的测试字段,供用户添加任何文本,包括url等。

然后将该文本区域的内容作为ajax / json传递给C#webmethod,然后添加到sql数据库中。

这很好用,直到用户添加撇号和/或其他一些重音字符,我认为斜线等。我知道撇号是大多数人对其他类似问题的评论的问题,就好像我删除它json工作

我已经尝试在斜杠上简单地替换()并且它可以工作(但我很担心其他字符,比如\也会阻止json工作)。

我可以做的是一种过滤(缓解)任何会破坏json('或\ etc)的方法,并且如果添加了它也处理了一个url,并且还将c#从数据库中恢复回来griview的boud事件

3 个答案:

答案 0 :(得分:1)

您可以使用JSON2的stringify方法:

示例:

<textarea id="txtInput"></textarea>
<div id="submit">Submit</div>

<script src="/Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="/Scripts/json2.min.js" type="text/javascript"></script>
<script>
  $('#submit').click(function () {
    var inputData = $('#txtInput').val();

    var jsonData = {}
    jsonData.input = inputData;
    jsonData.otherStuff = 1;

    var validJson = JSON.stringify(jsonData);

    alert(validJson);
  });
</script>

答案 1 :(得分:0)

试试这些

HttpServerUtility.UrlEncode()
Uri.EscapeUriString()

答案 2 :(得分:0)