前端通讯方式:$.post(url, query,function (result) {});
接收方式:
1.对象方式
前端传来的如果是from表单封装成的json数据,以表单中各项的name属性对应名字新建一个实体类,
如图:
然后引入Newtonsoft.Json,
var json = HttpContext.Current.Request["json"];
var jss = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
UserInfo userInfo = (UserInfo)JsonConvert.DeserializeObject<UserInfo>(json, jss);
就可以取值了,如:userInfo.name
记住,表单各项的name属性一定与实体类中各项相同,否则你懂的:会报错。
2.接收直接解析
如:
var json = context.Request["json"];
JObject jo = (JObject)JsonConvert.DeserializeObject(json);
string name= jo["name"].ToString();
jo是整个表单对象,对象也是表单各项name属性对象的名字
3.最简单的接收方式
context.Request["name"];
介是万能接收法,无论是'url?name=zs',$.post(url, {name:'zs'},function (result) {})
都可以接收到
4.form表单单个接收
如果是easyUI这样的表单提交,如:
$('#ff').form('submit', {
success: function(data){
var data = eval('(' + data + ')');
if (data.success){
alert(data.message)
}
}
});
可以这样接收:
string name = context.Request.Form["name
"];
string pwd = context.Request.Form["pwd"];
注意名字对应
5.HttpContext.Current.Request["UserID"];
如果只有一个参数,也要转换为json格式:
如var data = "UserID=" + JSON.stringify(USERID);
$.post(url, data,function (result){})或者$.post(url, {UserID:'12'},function (result){})
6.接收多个对象
在easyUI的datagrid若选中多行并将其转成json传给处理程序,先获取选中的行
如:var rows= "json=" + JSON.stringify(rows);用$.post通讯
先创建个实体,对应每一行的每个字段(field),假设实体名字叫Data
接收:
var json = context.Request["json"];
var jss = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
List<Data> listData = JsonConvert.DeserializeObject<List<Data>>(json);
listData 就是对象列表