当前位置: 移动技术网 > IT编程>开发语言>.net > 详解mvc使用JsonResult返回Json数据

详解mvc使用JsonResult返回Json数据

2017年12月12日  | 移动技术网IT编程  | 我要评论

妖兽道之医生的报复,大小姐驾到txt,剑川白族调

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> 

显示结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网