微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用asp.net mvc使用JsonResult返回Json数据实例详解

这篇文章主要介绍了详解mvc使用JsonResult返回Json数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

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> 
 <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>

显示结果:

原文地址:https://www.jb51.cc/csharp/1193591.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐