详解JsonResult的使用方法


本文摘自PHP中文网,作者Y2J,侵删。

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

controller 中定义以下方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

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;

  }

页面调用:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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

当然你也可以自己拼接字符串。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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

  }

页面方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<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的使用方法的详细内容!

相关阅读 >>

MVC页面之间参数传递的实例解析

MVC form表单提交的几种形式整理总结

实现MVC文件上传支持批量上传拖拽及预览文件内容校验功能的代码示例

详解jsonresult的使用方法

在core中使用MVC路由的配置

更多相关阅读请进入《MVC》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...