asp.net mvc 两级分类联动方法示例
前台视图代码
<%: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 两级分类联动方法示例的更多相关文章
- ASP.NET MVC 应用提速的十种方法
[编者按]本文作者为 DZone 社区的最具价值博主(MVB) Jonathan Danylko,主要介绍为 ASP.NET MVC 应用提速的十种方法.由国内 ITOM 管理平台 OneAPM 编译 ...
- ASP.NET MVC学前篇之扩展方法、链式编程
ASP.NET MVC学前篇之扩展方法.链式编程 前言 目的没有别的,就是介绍几点在ASP.NETMVC 用到C#语言特性,还有一些其他琐碎的知识点,强行的划分一个范围的话,只能说都跟MVC有关,有的 ...
- ASP.NET MVC ETag & Cache等优化方法
背景 最近有一个项目是用SmartAdmin + Jquery + EasyUI 一个ASP.NET MVC5的项目,一直存在一个性能问题,加载速度比较慢,第一次加载需要(在没有cache的情况下)需 ...
- 实现外卖选餐时两级 tableView 联动效果
最近实现了下饿了么中选餐时两级tableView联动效果,先上效果图,大家感受一下: 下面说下具体实现步骤: 首先分解一下,实现这个需求主要是两点,一是点击左边tableView,同时滚动右边tabl ...
- 在Asp.Net MVC中用Ajax回调后台方法
在Asp.Net MVC中用Ajax回调后台方法基本格式: var operData = ...; //传递的参数(action中定义的) var type = ...; //传递的参数(action ...
- Asp.Net MVC以 JSON传值扩展方法
Asp.Net在客户端和服务器端,以JSON形式相互传值,可写扩展方法,用到的类型如下: DataContractJsonSerializer类: 该类在System.Runtime.Serializ ...
- ASP.net MVC 文件下载的几种方法
ASP.net MVC 文件下载的几种方法(欢迎讨论) 在ASP.net MVC 中有几种下载文件的方法前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不 ...
- Asp.Net MVC以JSON传值扩展方法
Asp.Net在客户端和服务器端,以JSON形式相互传值,可写扩展方法,用到的类型如下: DataContractJsonSerializer类: 该类在System.Runtime.Serializ ...
- ASP.NET MVC系列:控制器的Edit方法
在前面我们已经介绍了如何创建控制器.视图和数据模型,运行之前的项目并打开Movies主页,将鼠标悬停在“编辑”菜单上,你会看到浏览器右下角显示了“编辑”链接的地址
随机推荐
- Educational Codeforces Round 6 C. Pearls in a Row
Educational Codeforces Round 6 C. Pearls in a Row 题意:一个3e5范围的序列:要你分成最多数量的子序列,其中子序列必须是只有两个数相同, 其余的数只能 ...
- UIVIewController自定义切换效果-b
之前介绍动画时提过UIView的转场动画,但是开发中我们碰到更多的viewController的切换,ios中常见的viewcontroller切换有四种:模态视图,导航栏控制器,UITabBar ...
- How to new a screen in linux
screen -R -D: create a screen Ctrl + A & Ctrl + D: leave a screen
- UVA 1513 Movie collection
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 200010 #define l ...
- Android ContentProvider和getContentResolver
安卓系统中的数据库SqlLite操作和java中mysql的数据库操作很不一样,造成这样的原因是因为在安卓中数据库是属于进程的不存在数据库客户端,也不存在数据库服务器. 关于SqlLite数据库的文章 ...
- 读书笔记-----Java并发编程实战(二)对象的共享
public class NoVisibility{ private static boolean ready; private static int number; private static c ...
- 使用ListView时遇到的问题
这周练习ListView时遇到了一个问题,从数据库中查询出的数据绑定到LIstView上,长按某个item进行删除操作,每次点击item取得的id都不对,调了半天终于找到了原因,关键是自己对自定义的B ...
- Navigation Drawer介绍
在2013 google IO当天,Android团的更新了Support库,新版本(V13)的Support库中新加入了几个比较重要的功能. 添加 DrawerLayout 控件,支持创建 Nav ...
- android Button隐藏
两种方式: xml方式 和 java代码方式: 可见(visible) XML文件:android:visibility="visible" Java代码:view.setVisi ...
- 老的acm & oj学习站点
1.网易小鱼博客 http://gisyhy.blog.163.com/blog/#m=0&t=1&c=fks_087069086082087064085081082095085084 ...