最近在处理MVC时,遇到要将特殊字符,或者XML格式的数据传递到后台,但是后台解析发现无法识别,处理有误。

可以通过以下方式处理。

1.Javascript  端处理主要对要传递的数据通过escape函数进行处理即可  escape(string)

但是要注意

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。语法escape(string)参数描述string必需。要被转义或编码的字符串。返回值已编码的 string 的副本。
其中某些字符被替换成了十六进制的转义序列。说明该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他所有的字符都会被转义序列替换。 提示和注释提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。注释:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。

        $.post("../Home/Test",{ ModelName: ModelName, ID: ID, Content: escape($("#Test").val()) }, function (data){///后台返回数据}  }

在控制器中主要是通过Server.UrlDecode进行解码即可。

public  ActionResult  Test(string ModelName,string ID,string Content)
{
    string Content=Server.UrlDecode(Content);
    return null;
}

 

 

相关文章:

  • 2021-12-05
  • 2021-05-16
  • 2021-03-31
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
  • 2021-09-23
  • 2021-09-15
  • 2021-07-14
  • 2021-08-18
相关资源
相似解决方案