asp.net.mvc后台与JavaScript数据传输之间的序列化和反序列化
1.界面的一维字符串传到后台控制器:
(划重点!!!,尽量还是不要用post传值,因为好像post不能传数组)
所以传数的话建议首选ajax
类似我们从客户端取到的字符串格式是"student1,student2,student3,student4"
//JavaScript语言将字符串序列化
var students="student1,student2,student3,student4";
var students=JSON.stringify(students);
$.ajax({
type: "post",
url: "/控制器名/函数名",
tanditional: true,
data: { students: students},
success: function (data) {
//成功之后的回调函数
}
});
//c# 语言将json字符串反序列化
JArray array = (JArray)JsonConvert.DeserializeObject(students);
List<string> list =new List<string>();
for(int i=0; i<array.Count; i++){
list[i]=array[i]
}
输出结果为 list[]=[“student1”,“student2”,“student3”,“student4”]
从c#后台将数组序列化的写法:
//c# 语言将数组序列化
JavaScriptSerializer js = new JavaScriptSerializer();
string str = js.Serialize(list);