今天接触了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>