背景介绍:asp.net中使用json对象传参;mvc中可以直接使用jsonresult这个对象
一:怎么使用jsonresult
public JsonResult text()
{
var strlist = new List<string>(); // 数据添加 return Json(new { strlist});
}
//一个结果
//{"strlist":["/Upload/CRM/2017622/14981209357290.jpg"]}
这里给出了怎么使用jsonresult和最后得到的结果数据示例。
二:前台怎么调用
//response是在ajax中获取到的数据
var strlist=$.parseJSON(response).strlist[0];
alert(strlist);
这里要注意的一点是数据如果是已一个strlist传入,在前台接收的时候就是多个key为strlist的值。
当然我这里传递进来的是一个list,也可以去传递更多的数据类型,这样的话就是在前台接受的时候需要注意到数据结构,然后通过多层解析拿到数据
三:在后台调用jsonresult
有个新的需求,在另一个后台方法中调用数据然后做一些处理,这样就要在后台解析数据,在这里我才用了老方法,把数据先反序列化一下
public JsonResult UpLoadImageForCom(string Folder = "COM")
{
//数据源
var urlname = UpLoadImageForGuest("COM");
//{"urlname":["/Upload/CRM/2017622/14981209357290.jpg"]}
JObject jo1 = (JObject)JsonConvert.DeserializeObject(urlname.ToString());
string comurl = jo1["urlname"].ToString();
ConfigService.UpdateCommercialTenantUrl(comurl);
return urlname;
}
这是一个错误的实例,如果有好的方法,请发给我。urlname.data.urlname.value才会是我要的值,但是不是这么取得到的。