asp.net MVC3之AJAX实现(json)

1.建一个mvc3的项目,取名叫MVC3Test
2.修改About.cshtml,如下代码
About.cshtml
   
   
 
About.cshtml
      
      
@{ ViewBag.Title = "About Us"; } < script type ="text/javascript" >
         
         
$( function () { // get the schools $.get( " /Home/GetSchools " , function (data) { $(data).each( function () { var o = document.createElement( " option " ); o.value = this [ ' Id ' ]; o.text = this [ ' Name ' ]; $( " #sltSchool " )[ 0 ].options.add(o); }); }); // Get the departments depend on the school $( " #sltSchool " ).change( function () { // initialization the select $( " #sltDepartment " ).empty(); var _o = document.createElement( " option " ); _o.value = " -1 " ; _o.text = " select... " ; $( " #sltDepartment " )[ 0 ].options.add(_o); $.get( " /Home/GetDepartments " , { schoolId: $( " #sltSchool " ).val() }, function (data) { $(data).each( function () { var o = document.createElement( " option " ); o.value = this [ ' Id ' ]; o.text = this [ ' Name ' ]; $( " #sltDepartment " )[ 0 ].options.add(o); }); }); }); }); </ script > < div > < h2 > About </ h2 > < p > Put content here. </ p > < div > < span > < label > School : </ label > < select id ="sltSchool" > < option value ="-1" > select... </ option > </ select ></ span > < span style ="margin-left: 50px" > < label > Department : </ label > < select id ="sltDepartment" > < option value ="-1" > select... </ option > </ select > </ span > </ div > </ div >
3.创建几个model
 (1) TestSchool.cs
TestSchool
   
   
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVC3Test.Models { public class TestSchool { public int Id { get ; set ; } public string Name { get ; set ; } } }
 (2) TestSchoolDepartment.cs
TestSchoolDepartment.cs
    
    
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVC3Test.Models { public class TestSchoolDepartment { public int Id { get ; set ; } public int SchoolId { get ; set ; } public string Name { get ; set ; } } }
 (3) TestModels.cs
TestModels.cs
    
    
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVC3Test.Models { public class TestModels { public static List < TestSchool > GetAllSchools() { return new List < TestSchool > () { new TestSchool{Id = 1 ,Name = " ABC " }, new TestSchool{Id = 2 ,Name = " DEF " }, new TestSchool{Id = 3 ,Name = " HIJ " }, new TestSchool{Id = 4 ,Name = " LMN " } }; } public static List < TestSchoolDepartment > GetAllDepartment() { return new List < TestSchoolDepartment > () { new TestSchoolDepartment{Id = 1 ,SchoolId = 1 ,Name = " ABC_D1 " }, new TestSchoolDepartment{Id = 2 ,SchoolId = 1 ,Name = " ABC_D2 " }, new TestSchoolDepartment{Id = 3 ,SchoolId = 1 ,Name = " ABC_D3 " }, new TestSchoolDepartment{Id = 4 ,SchoolId = 2 ,Name = " DEF_D1 " }, new TestSchoolDepartment{Id = 5 ,SchoolId = 2 ,Name = " DEF_D2 " }, new TestSchoolDepartment{Id = 6 ,SchoolId = 3 ,Name = " HIJ_D1 " }, new TestSchoolDepartment{Id = 7 ,SchoolId = 3 ,Name = " HIJ_D2 " }, new TestSchoolDepartment{Id = 8 ,SchoolId = 3 ,Name = " HIJ_D3 " }, new TestSchoolDepartment{Id = 9 ,SchoolId = 3 ,Name = " HIJ_D4 " }, new TestSchoolDepartment{Id = 10 ,SchoolId = 4 ,Name = " LMN_D1 " } }; } public static List < TestSchoolDepartment > GetDepartmentBySchoolId( int schoolId) { List < TestSchoolDepartment > testSchoolDepartment = new List < TestSchoolDepartment > (); foreach (TestSchoolDepartment department in GetAllDepartment()) { if (department.SchoolId == schoolId) { testSchoolDepartment.Add(department); } } return testSchoolDepartment; } } }
4.由于About是在Home页面里的,所以它的controller应该在HomeController里,我们添加两个controller,如下:
HomeController.cs
    
    
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MVC3Test.Models; using System.Text; namespace MVC3Test.Controllers { public class HomeController : Controller { public ActionResult Index() { ViewBag.Message = " Welcome to ASP.NET MVC! " ; return View(); } public ActionResult About() { return View(); }
       
       
public JsonResult GetSchools() { return Json(TestModels.GetAllSchools (),JsonRequestBehavior.AllowGet); } public JsonResult GetDepartments( int schoolId) { return Json(TestModels.GetDepartmentBySchoolId(schoolId),JsonRequestBehavior.AllowGet); }
}}
好了,所有的代码都已完成,现在只要编译、运行项目即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值