ASP.NET MVC——返回Json格式的Ajax

简介:控制器方法返回Json格式的数据


一、控制器做的工作(Controller)

1.使用JSON格式必备的命名空间

using System.Web.Script.Serialization;

2.通过javascript序列化将对象转为Json字符串

  /// <summary>
        /// 根据班级名称获取学员对象(以JSON格式返回)
        /// </summary>
        /// <param name="className"></param>
        /// <returns></returns>
        public ActionResult GetStuList(string className)
        {
            //【1】调用模型处理业务
            List<Student> stuList = new StudentManager().GetStudentsByClass(className);
            //【2】JSON格式转换
            JavaScriptSerializer jss = new JavaScriptSerializer();
            string stringList = jss.Serialize(stuList);//将当前的List对象集合转换成字符串(JSON格式)
            //【3】返回JSON格式数据 来自Http的所有Get方式都能响应
            return Json(stringList, JsonRequestBehavior.AllowGet);
        }

二、视图做的工作(View)

1.引入Jquery脚本

 <script src="~/Scripts/jquery-1.7.1.min.js"></script>

2.注册查询按钮的单击事件

<script type="text/javascript">
        $(function () {
            $("#submitQuery").click(function () {
                $("#stuList").empty();//清空以前的查询结果
                var cName = $("#className").val();//获取班级名称
                //根据班级名称提交查询
                $.post("/Student/GetStuList", { "className": cName }, function (data,status) {
                    //获取返回的“对象集合”,并转换成jQuery能够识别的JSON格式
                    var list = $.parseJSON(data);
                    //alert(list);
                    //遍历集合显示数据
                    for (var i = 0; i < list.length; i++) {
                        var li = "<li>" + list[i].StudentId + "&nbsp;"
                            + list[i].StudentName + "&nbsp;"
                            + list[i].Gender + "&nbsp;"
                            + list[i].PhoneNumber + "&nbsp;"
                            + list[i].StudentAddress + "&nbsp;"
                            + "</li>";
                        $("#stuList").append(li);//使用append方法追加li
                    }
                });
            });
        });
    </script>

猜你喜欢

转载自blog.csdn.net/qq_35574190/article/details/89103543
今日推荐