• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET MVC2 Ajax返回JSON

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在 MVC 返回ActionResult中,给我们提供了JSONResult对象,我们可以直接用他来返回JSON对象给前台JS脚本处理

 

当我们定义好Model后,把我们的Model 传给Json这个方法,它会自动根据我们Model 的属性,遍历属性后生成JSON对象,返回给浏览器,我们不用做任何处理。。

 

代码类似:

 public ActionResult JSON()
        {
            Models.Person p = new DataValidation.Models.Person();

            p.FirstName = "test";

            return Json(p, JsonRequestBehavior.AllowGet);
        }

前台代码:
 $().ready(function() {
        $("#btnJSON").click(function() {
        $.getJSON("/Home/JSON", function(data) {
                alert(data.FirstName);
            })
        })
    })
当我们前台 调用 这个Action 的时候,会自动给我们生成好json对象,我们前台js直接使用Model的属性就可以了。。。


当我们没有Model 的时候,却要返回JSON对象供前台JS处理怎么办呢?其实也很简单,我们只需要提供 有 键/值对 的对象给Json方法就可以了,
它会自动根据键值对生成json对象,我们可以用 Hashtable/Hashmap...,此时返回给前台的就只有一个json对象,里面包含不同属性,我们也可以根据需要返回一组json对象给js使用,
当然我们只需再添加一个list来存放这些 键值对 对象就可以了,我们把 list 传递给 Json方法,它会自动生成一个json对象数组给前台
后台代码类似:
 public ActionResult GetJSON()
        {
            ArrayList list = new ArrayList();

            Hashtable ht1 = new Hashtable();
            ht1.Add("name", "myName");

            Hashtable h2 = new Hashtable();
            h2.Add("name","Test名称");

            list.Add(ht1);
            list.Add(h2);

            return Json(list,JsonRequestBehavior.AllowGet);
        }
前台代码:
 $().ready(function() {
        $("#btnJSON").click(function() {
        $.getJSON("/Home/getJSON", function(data) {
                alert(data.length +" " + data[0].name);
            })
        })
    })
大家可以用firebug 跟踪一下,其实 给我们组合成了一个 json对象的数组
[{"name":"myName"},{"name":"Test名称"}]

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#-WebForm-★ASP.NET中的母版页★发布时间:2022-07-10
下一篇:
ASP.NET一般处理程序访问Session问题发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap