前台视图代码

<%:Html.DropDownList("AwardClassMainID","请选择")%>

<%:Html.DropDownList("SubID",new List<SelectListItem> { (new SelectListItem(){Text="请选择",Value="0"})})%>

//jquery代码

$("#AwardClassMainID").change(function () {

var url ="../AwardSubClasic/GetClasicList/"; //规则是控制器/方法/参数

$.getJSON(url, { firstclassid:$("#AwardClassMainID").val() }, function (data) {

$('#SubID').html('');

$('#SubID').append("<optionvalue=0>请选择</option>")

$.each(data, function (i,item) {

$('#SubID').append($("<option></option>").val(item.SecondClassID).html(item.ClassName));

});

});

});

后台Controller里代码

//view里面加一级分类的数据

ViewBag.AwardClassMainID = new SelectList(bll.GetAll(),"ClassID", "ClassName");

<summary>

/// json返回数据-通过分类ID,查询此分类的二级分类

/// </summary>

/// <param name="id">一级分类ID</param>

/// <returns></returns>

[HttpGet]

public JsonResult GetClasicList(string firstclassid)

{

List< TrainingSecondClass > Classlist = m_BLL.GetClassDropDwonList(firstclassid);

return Json(Classlist.ToList<AwardSubClasic>(),JsonRequestBehavior.AllowGet);

}

IBLL里面加接口声明

List<TrainingSecondClass>GetClassDropDwonList(string id);

BLL里面

public List<TrainingSecondClass> GetClassDropDwonList(stringid)

{

return repository.GetClassDropDwonList(db,id).ToList<TrainingSecondClass>();

}

repository里面加实现方法

public List<TrainingSecondClass>GetClassDropDwonList(SysEntities db, string FirstClassID)

{

List<TrainingSecondClass> result =new List<TrainingSecondClass>();

var n = db.TrainingSecondClass.Where(p => p.FirstClassID ==FirstClassID).ToList();

foreach (var c in n)

{

result.Add(new TrainingSecondClass

{//取出json调用的数据

SecondClassID =c.SecondClassID,

ClassName = c.ClassName

});

}

return result;

}

asp.net mvc 两级分类联动方法示例的更多相关文章

  1. ASP.NET MVC 应用提速的十种方法

    [编者按]本文作者为 DZone 社区的最具价值博主(MVB) Jonathan Danylko,主要介绍为 ASP.NET MVC 应用提速的十种方法.由国内 ITOM 管理平台 OneAPM 编译 ...

  2. ASP.NET MVC学前篇之扩展方法、链式编程

    ASP.NET MVC学前篇之扩展方法.链式编程 前言 目的没有别的,就是介绍几点在ASP.NETMVC 用到C#语言特性,还有一些其他琐碎的知识点,强行的划分一个范围的话,只能说都跟MVC有关,有的 ...

  3. ASP.NET MVC ETag & Cache等优化方法

    背景 最近有一个项目是用SmartAdmin + Jquery + EasyUI 一个ASP.NET MVC5的项目,一直存在一个性能问题,加载速度比较慢,第一次加载需要(在没有cache的情况下)需 ...

  4. 实现外卖选餐时两级 tableView 联动效果

    最近实现了下饿了么中选餐时两级tableView联动效果,先上效果图,大家感受一下: 下面说下具体实现步骤: 首先分解一下,实现这个需求主要是两点,一是点击左边tableView,同时滚动右边tabl ...

  5. 在Asp.Net MVC中用Ajax回调后台方法

    在Asp.Net MVC中用Ajax回调后台方法基本格式: var operData = ...; //传递的参数(action中定义的) var type = ...; //传递的参数(action ...

  6. Asp.Net MVC以 JSON传值扩展方法

    Asp.Net在客户端和服务器端,以JSON形式相互传值,可写扩展方法,用到的类型如下: DataContractJsonSerializer类: 该类在System.Runtime.Serializ ...

  7. ASP.net MVC 文件下载的几种方法

      ASP.net MVC 文件下载的几种方法(欢迎讨论) 在ASP.net MVC 中有几种下载文件的方法前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不 ...

  8. Asp.Net MVC以JSON传值扩展方法

    Asp.Net在客户端和服务器端,以JSON形式相互传值,可写扩展方法,用到的类型如下: DataContractJsonSerializer类: 该类在System.Runtime.Serializ ...

  9. ASP.NET MVC系列:控制器的Edit方法

    在前面我们已经介绍了如何创建控制器.视图和数据模型,运行之前的项目并打开Movies主页,将鼠标悬停在“编辑”菜单上,你会看到浏览器右下角显示了“编辑”链接的地址

随机推荐

  1. 《C和指针》章节后编程练习解答参考——6.3

    <C和指针>——6.3 题目: 编写一个函数,把参数字符串中的字符反向排列. 函数原型: void reverse_string(char *string); 要求: 使用指针而不是数组下 ...

  2. STM32与S3C2440的区别

    一.定位 STM32: 高功能单片机.工业控制 S3C2440:  处理器.智能设备 二.跑系统 STM32: ucos-II S3C2440:  Linux等大型系统 三.硬件架构 STM32: C ...

  3. 程序在nor flash中真的可以运行吗?

    程序在nor flash中可以运行,但是是有限制的,它不能像RAM那样随意的写(尽管它可以随意的读).在norflash上,不能运行写存储器的指令,不过排除写的地方是RAM类.实验中的三个文件如下所示 ...

  4. Remove linked list elements | leetcode

    Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 -- ...

  5. 反射实体自动生成EasyUi DataGrid模板

    用EasyUi Datagrid展示数据的时候总是要一下这样一段代码 <table id="dt" class="easyui-datagrid"> ...

  6. Being a Hero

    zoj3241:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3241 题意:一个国家的地图是一张n个点m条边的有向图.你保 ...

  7. apache整合tomcat部署集群

    近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以a ...

  8. Redhat 安装Oracle DBI和DBD

    Redhat 安装DBI和ORACLE DBD tar -zxvf DBI-1.616.tar.gz cd DBI-1.616 perl Makefile.PL make make install 2 ...

  9. Java中int与Integer

    一般小写字母开头的是数据类型(如int double),大写字母开头的一般是封装为类(如Double),里面有很多方法,比如实行转换Integer.parseInt(arg0),可以把其他类型的数据转 ...

  10. Python 处理server返回gzip内容

    Python 如何处理server返回gzip压缩过的内容,代码如下: from StringIO import StringIOimport gzip request = urllib2.Reque ...