您现在的位置是:首页 > 正文

asp.net MVC3之AJAX实现(json)

2024-01-30 20:44:56阅读 0
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); }
}}
好了,所有的代码都已完成,现在只要编译、运行项目即可。

网站文章

  • STM32cubeIDE安装教程

    STM32cubeIDE安装教程

    STM32CubeIDE集成了STM32CubeMX的STM32配置与项目创建功能,以便提供一体化工具体验,并节省安装与开发时间。在通过所选板卡或示例选择一个空的STM32 MCU或MPU,或者预配置微控制器或微处理器之后,将创建项目并生成初始化代码。在开发过程的任何时间,用户均可返回外设或中间件的初始化和配置阶段,并重新生成初始化代码,期间不会影响用户代码。

    2024-01-30 20:44:28
  • 如何解决Form表单的重复提交

    以前在做居民信息管理系统时出现过一个非常严重的问题,在添加居民信息,每刷新一次就会数据库中就会重复提交一次。这个问题很让人头疼,正好最近有一次面试,也被提问到此问题了,故在网上搜了一些这方面的文章。供交流学习之用。  三种方案javascript ,设置一个变量,只允许提交一次。   var checkSubmitFlg = false;  funct

    2024-01-30 20:44:20
  • 往c盘复制文件时,总是拒绝访问

    往c盘复制文件时,总是拒绝访问

    win10如何获取管理员权限?在往c盘复制文件时,总是拒绝访问,请问该怎么办?20 分享 举报 6个回答 #热议#3分钟看懂!2019年个税年度汇算怎么算? 华硕服务 百度认证:华硕电脑(上海)官方帐号推荐于2017-12-11 关注 Windows 10操作系统中开启Administrator超级管理员账户方法步骤如下百: 1、在Win10左下角的开始图标上点击...

    2024-01-30 20:44:12
  • 基本排序(二)插入排序(直接插入、Shell、折半)

      插入排序是常见的内部排序之一。常见的插入排序包括直接插入排序、Shell排序、折半排序。本篇主要介绍这三个排序。  转载请注明出处——http://www.cnblogs.com/zrtqsk/p/3807611.html,谢谢!一、直接插入排序  直接插入排序大概是我们最容易理解的一类排序了。  1、原理  对于n个元素的记录。  第一趟  :  把第2个元素拿...

    2024-01-30 20:44:05
  • 学计算机大连海事和徐州矿大,全国211院校考研难度详细分析!这些名校都是沧海遗珠!...

    学计算机大连海事和徐州矿大,全国211院校考研难度详细分析!这些名校都是沧海遗珠!...

    原标题:全国211院校考研难度详细分析!这些名校都是沧海遗珠!很多考研人,都是为了提升自己的学历而来!梦想着考取名校,圆自己一个名校梦。这些院校,往往竞争十分惨烈,让很多同学“望而生畏,感觉头大”!今...

    2024-01-30 20:43:35
  • centOS控制台字体太小解决方法

    centOS控制台,注意,不是图像界面的终端,其实无论控制台还是终端都可行。我用的是centos6.9,字体是一个我觉得很棒的terminus。解决正常分辨率下控制台字体太小的问题。 控制台字体不大是...

    2024-01-30 20:43:29
  • 求解线性子空间的交空间

    求解线性子空间的交空间

    求解线性子空间的交空间今天群友们讨论一个问题(应该是今年牛客多校的题目),Linear Algebra, Vector Space: how to find intersection of two subspaces ?故在此记录一下math.stackchange上网友的solution:[外链图片转存失败(img-cFbLg1Lu-1564241317468)(https://s2....

    2024-01-30 20:43:23
  • 来自别人的,关于C++ const 的全面总结

    来自别人的,关于C++ const 的全面总结

    来自于:http://blog.csdn.net/Eric_Jo/article/details/4138548

    2024-01-30 20:42:54
  • UE5火星系统素材

    UE5火星系统素材

    1.地形编辑 WorldCreator2.地形材质。

    2024-01-30 20:42:47
  • JSP中的EL表达式

    JSP中的EL表达式

    一、JSP EL语言定义        EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计算。JSP 2.0 将 EL 表达式添加为一种脚本编制元素。 二、JSP EL简介1、语法结构     ${expr

    2024-01-30 20:42:40