详解mvc使用JsonResult返回Json数据
程序员文章站
2022-08-27 16:10:11
controller 中定义以下方法:
public jsonresult updatesingle(int id, string actionname,...
controller 中定义以下方法:
public jsonresult updatesingle(int id, string actionname, string actionvalue) { var res = new jsonresult(); //var value = "actionvalue"; //db.contextoptions.proxycreationenabled = false; var list = (from a in db.articles select new { name = a.arttitle, yy = a.artpublishtime }).take(5); //记得这里要select new 否则会报错:序列化类型 system.data.entity.dynamicproxies xxxxx 的对象时检测到循环引用。 //不select new 也行的加上这句 //db.contextoptions.proxycreationenabled = false; res.data = list;//返回列表 var name = "小华"; var age = "12"; var name1 = "小华"; var age1 = "12"; res.data = new object[] { new { name, age }, new { name1, age1 } };//返回一个自定义的object数组 var person = new { name = "小明", age = 22, sex = "男" }; res.data = person;//返回单个对象; res.data = "这是个字符串";//返回一个字符串,意义不大; res.jsonrequestbehavior = jsonrequestbehavior.allowget;//允许使用get方式获取,否则用get获取是会报错。 return res; }
页面调用:
<a href="javascript:void(0);" onclick="javascript:upclick(this);">click me</a> <script type="text/javascript"> function upclick(o) { var obj = $(o); alert(obj); $.ajax({ url: "/articles/updatesingle?ran=" + math.random(), type: "get", datatype: "json", data: { id: obj.attr("id"), actionname: obj.attr("actionname"), actionvalue: obj.attr("actionvalue") }, success: function (data) { // if (data.result == "true") { // alert("修改成功!"); // } // if (obj.attr("actionname") == "artverify") { // } $(o).html(data[0].name); obj.attr("actionvalue", data[0].result); } }) } </script>
以上是在mvc中使用,在webform中怎么使用呢?
在webform中要引用newtonsoft.json.dll;
当然你也可以自己拼接字符串。
protected void page_load(object sender, eventargs e) { var customer = new customer { name = "李华", sex = "男" }; var customer1 = new customer { name = "小芳", sex = "女" }; var li = new list<customer>(); li.add(customer); li.add(customer1); var list = newtonsoft.json.javascriptconvert.serializeobject(li); var tt = "[{\"name\":\"李华\",\"sex\":\"男\"},{\"name\":\"小芳\",\"sex\":\"女\"}]"; //new newtonsoft.json.jsonserializer()..(customer); response.write(tt); response.end(); } public class customer { public string name { get; set; } public string sex { get; set; } }
页面方法:
<p> <a href="javascript:void(0)" onclick="javascript:getjsondata();">getjsondata</a> </p> <div id="datadiv"> ggg </div> <script type="text/javascript"> function getjsondata() { var str = ""; $.getjson("/json.aspx", function (data) { var tt = ""; $.each(data, function (k, v) { $.each(v, function (kk, vv) { tt += kk + ":" + vv + "<br/>"; }); }); $("#datadiv").html(tt); }); } </script>
显示结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
-
详解通过JSON数据使用VUE.JS
-
Spring mvc实现Restful返回json格式数据实例详解
-
Spring mvc实现Restful返回xml格式数据实例详解
-
解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题
-
Jquery 使用Ajax获取后台返回的Json数据后,页面处理
-
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
-
详解mvc使用JsonResult返回Json数据
-
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程
-
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例