asp.net ajax传递Json给aspx.cs后台 webmethod方法传递json
1、提取一个向后台写入数据的方法
///向后台cs页面请求数据的方法 function myPost(url,data,func) { $.ajax({ type: "post", //要用post方式 data:data, url: url,//"Demo.aspx/SayHello",//方法所在页面和方法名 contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { func(1,data.d); }, error: function (err) { func(-1,err); } }); }
2.1、没有参数的传递到后台的写法
myPost("orgList.aspx/GetOrgList","{}", function (isSuccess, data) {
if (isSuccess < 0) { layer.msg(data); return; }
if (data && data.length > 0) {
zTreeNodes = eval('(' + data + ')');
zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes);
}
});
2.2带参数的写法
myPost("orgList.aspx/GetModel","{ID:"+treeNode.id+"}", function (isSuccess, data) {
if (isSuccess < 0) { layer.msg(data); return; }
if (data && data.length > 0) {
var model = eval('(' + data + ')');
for (var key in model) {
vue.model[key] = model[key];
}
}
});
2.3传递json的写法
var model = String.toSerialize(vue.model);//.replace(/\"/g,"'"); myPost("orgList.aspx/Save","{value: '"+model+"'}", function (isSuccess, data) {//当传递的是对象的时候,一定要保证将对象转换为字符串 if (isSuccess < 0) { layer.msg(data); return; } if (data == 1) { //重新加载控件 GetPowerTree(); clearData(); layer.msg("保存成功!"); } else if (data == -1) { layer.msg("保存失败!"); } else if (data == -2) { layer.msg("此机构已存在!"); } });
3.1 无参数后台接收方法
[WebMethod] public static string GetOrgList() { DataTable dt = bll.GetList("1=1").Tables[0]; return JsonHelper.DataTableToJSON(dt); }
3.2带参数的后台接收方法
[WebMethod]
public static string GetModel(long ID)
{
Model.Org_Orginfo model = bll.GetModel(ID);
return JsonHelper.ObjectToJSON(model);
}
3.3传递json的后台接收方法
[WebMethod] public static string Save(string value) { bool succ = false; Model.Org_Orginfo model = JsonHelper.JSONToObject<Model.Org_Orginfo>(value); if (model.id < 0) { if (bll.Exists($"orgName='{model.orgName}'")) return "-2"; model.Createtime = DateTime.Now; model.CreateUser = 1;//创建人------------------------------------- succ = bll.Add(model); return succ ? "1" : "-1"; } else { if (bll.Exists($"orgName='{model.orgName}' and id={model.id.ToString()}")) return "-2"; succ = bll.Update(model); return succ ? "1" : "-1"; } }
参考:http://www.cnblogs.com/huanbia/archive/2013/03/03/2941293.html
https://blog.csdn.net/naruto517308294/article/details/49097493
将偷懒进行到极致,是一个程序员的基本素养