Home > Backend Development > C#.Net Tutorial > Detailed explanation of how to use JsonResult

Detailed explanation of how to use JsonResult

Y2J
Release: 2017-05-10 10:53:17
Original
7440 people have browsed it

This article mainly introduces the detailed explanation of mvc's use of JsonResult to return Json data. It has certain reference value. Interested friends can refer to it. The following methods are defined in

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; 
  }
Copy after login

Page call:

<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>
Copy after login

The above is used in mvc, how to use it in webform?

Reference Newtonsoft.Json.dll in the webform;

Of course, you can also splice the strings yourself.

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; } 
  }
Copy after login

Page method:

<p> 
  <a href="javascript:void(0)" onclick="javascript:getJsonData();">GetJsonData</a> 
 </p> 
 <p id="datap"> 
  ggg 
 </p> 
 <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/>"; 
     }); 
    }); 
    $("#datap").html(tt); 
   }); 
  } 
 </script>
Copy after login

Display results:

##[Related recommendations]

1.

ASP free video tutorial

2.

ASP tutorial

3.

Li Yanhui ASP basic video tutorial

The above is the detailed content of Detailed explanation of how to use JsonResult. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template