Asp.net MVC Jquery提交后乱码问题

最近在处理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;
}
原文地址:https://www.cnblogs.com/aehyok/p/2860643.html