在mvc4.0中使用json数据

今天接触了mvc4.0项目,View中需要获取从Control传来的json数据。过程记录如下:

在 MVC 返回的ActionResult中,为我们提供了JSONResult(继承至ActionResult)对象,我们可以直接用他来返回JSON对象给View处理

 

将自定义的Model 实例传给Json方法,它会自动根据我们Model 的属性,遍历属性后生成JSON对象,返回View。然后就可以在前端使用JQ对JSON数据进行处理了

Control中的代码:

public JsonResult search()
        {

            string name = Request.QueryString["name"]?? "";
            var lists = new List<Maticsoft.Model.newslist>();//类型集合
            newslistBLL bll = new newslistBLL();
            lists = bll.GetModelList("name like '%"+name+"%'");
            JsonResult json = new JsonResult();
            json.Data = lists;
            return Json(json,JsonRequestBehavior.AllowGet);
           //JsonRequestBehavior.AllowGet必须要开启否则会报错

        }

View中的代码:

<script type="text/javascript">
    $(function () {
        $("#cx").click(function () {
            var name = $("#txtName").val();

            $.getJSON("search",{ name:name }, function (data) {
                
                        var msg = "<tr><td>用户名</td><td>页面地址</td><td>图片名称</td></tr>";
                        for (var i = 0, length = data.Data.length; i < length; i++) {
                           
                             msg += "<tr><td>"+data.Data[i].name+"</td><td>"+data.Data[i].url+"</td><td>"+data.Data[i].img+"</td></tr>";

                        }
                        $("#userlist").html(msg);
                    

            });
          

        });


    });


</script>
 <table style="width: 100%;" id="userlist">
</table>

 

posted on 2014-06-03 16:47  jeemly  阅读(735)  评论(0编辑  收藏  举报