ASP.NET MVC——返回Json格式的Ajax
程序员文章站
2022-06-11 11:58:05
...
简介:控制器方法返回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 + " "
+ list[i].StudentName + " "
+ list[i].Gender + " "
+ list[i].PhoneNumber + " "
+ list[i].StudentAddress + " "
+ "</li>";
$("#stuList").append(li);//使用append方法追加li
}
});
});
});
</script>