• 技术文章 >后端开发 >C#.Net教程

    详解JsonResult的使用方法

    Y2JY2J2017-05-10 10:53:17原创5467
    这篇文章主要介绍了详解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>

    显示结果:

    【相关推荐】

    1. ASP免费视频教程

    2. ASP教程

    3. 李炎恢ASP 基础视频教程

    以上就是详解JsonResult的使用方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mvc jsonresult ASP
    上一篇:解析Asp.net如何使用Session 下一篇:VS使用scanf出现报错的情况及解决方案
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• C语言入门之聊聊基础知识(数据类型、变量、函数、数组等)• c语言中node是什么意思• 聊聊如何利用纯C语言对EXCEL进行读写操作• C语言必背18个经典程序,C语言初学者必会(收藏)• C#中GDI+编程10个基本技巧二
    1/1

    PHP中文网