如果要得到包含子类的项,理所当然要用到递归。下面的这个例子是在下拉列表中获取所有部门

helper中代码如下:

 1 /// <summary>
 2         /// 循环获取部门
 3         /// </summary>
 4         /// <param name="list"></param>
 5         /// <param name="deptId"></param>
 6         /// <param name="grade"></param>
 7         private void LoopGetDept(IList<Dept> list, int deptId, int grade)
 8         {
 9             IList<Dept> items = DeptHelper.GetListsByParentId(deptId);
10             string sp = "";
11             for (int i = 0; i < grade; i++)
12             {
13                 sp += "--";
14             }
15             if (items.Count > 0)
16             {
17                 for (int i = 0; i < items.Count; i++)
18                 {
19                     items[i].DeptName = sp + items[i].DeptName;
20                     list.Add(items[i]);
21                     LoopGetDept(list, items[i].DeptID, grade + 1);
22                 }
23             }
24         }

 /// <summary>/// 根据父id取子记录,不分页/// </summary>/// <param name="id"></param>/// <returns></returns>public static IList<Dept> GetListsByParentId(int id){using (UUMContext uc = new UUMContext()){var dept = from a in uc.Depts select a;if (id >= 0){dept = dept.Where(a => a.DeptParent == id);}IList<Dept> list=dept.ToList<Dept>();return list;}}

 /// <summary>/// 得到上级部门列表/// </summary>/// <returns></returns>public IList<Dept> GetAllListForSel(){IList<Dept> list = new List<Dept>();LoopGetDept(list, 0, 0);list.Insert(0, new Dept() { DeptID = 0, DeptName = "根" });return list;}

然后在controller中绑定数据即可。
 ViewData["DeptParent"] = new SelectList(deptHelper.GetAllListForSel(), "DeptID", "DeptName");

转载于:https://www.cnblogs.com/SunYiwei/archive/2012/05/23/2514916.html

mvc2中如何在下拉列表中显示含有子类的项(子类前加--)相关推荐

  1. excel图表配合下拉菜单_在下拉列表中选择Excel仪表盘图表

    excel图表配合下拉菜单 You can make an interactive dashboard in Excel, even if you can't use macros, or prefe ...

  2. java 是怎么在中删除下拉列表_删除在一个下拉列表字段中选择的选项,并且不显示在该行中存在的其他下拉列表中不工作-jquery...

    我有一个包含多列的html表,在两列中我显示下拉列表 . 当用户从一个下拉列表中选择值时(选择Product1或Select Product2下拉列表),我想删除在一个下拉列表中选择的选项,并且不要在 ...

  3. 下拉菜单显示 隐藏html,根据在下拉列表中选择的内容隐藏和显示HTML元素

    我的网站是在ASP classic - VBScript中创建的(不是我的选择,也是我之前没有过的语言).我试图在其中创建一个网页:下拉菜单显示了基于第一个选择内容的额外下拉菜单.我正在尝试使用Jav ...

  4. r 数据框选子集_在带有组合框的值列表的下拉列表中显示显示属性的子集

    r 数据框选子集 组合框值列表(inputComboboxListOfValues)应该是使用LOV的非常流行的ADF Faces组件. 坦白说,这是我最喜欢的值列表方法. 在这篇简短的文章中,我将重 ...

  5. 在带有组合框的值列表的下拉列表中显示显示属性的子集

    组合框值列表(inputComboboxListOfValues)应该是使用LOV的非常流行的ADF Faces组件. 坦白说,这是我最喜欢的值列表方法. 在这篇简短的文章中,我将重点介绍ADF开发人 ...

  6. html分级显示的下拉列表,javascript实现在下拉列表中显示多级树形菜单的方法

    本文实例讲述了javascript实现在下拉列表中显示多级树形菜单的方法.分享给大家供大家参考.具体如下: 这里演示在下拉列表框中显示分级的菜单,在很多网站都可以看到的效果,很实用,下拉列表框中的选项 ...

  7. excel整列动态联动下拉_在Excel下拉列表中显示多列

    excel整列动态联动下拉 A data validation drop down list in Excel only shows one column of items. See how to s ...

  8. html分级显示的下拉列表,在下拉列表中显示多级树形菜单

    在下拉列表框中显示分级的菜单,在很多网站都可以看到的效果,很实用,下拉列表框中的选项是利用JS控制输出,如果你有更好的办法不用JS来显示,那最好了,因为像这种菜单用JS来实现,多多少少有点麻烦 在下拉 ...

  9. 使用JavaScript在下拉列表中获取选定的值

    如何使用JavaScript从下拉列表中获取选定的值? 我尝试了下面的方法,但是它们都返回选择的索引而不是值: var as = document.form1.ddlViewBy.value; var ...

最新文章

  1. C++实现大数的加法
  2. struts2 防止表单重复提交--令牌机制
  3. NeHe教程Qt实现——lesson04
  4. 网格中的BFS,逆向(POJ2049)
  5. su: Authentication failure 的解决方案
  6. html pt兼容,FCKEditor,一个HTML可视化编辑器,兼容很好
  7. Qt开源作品43-超级图形字体
  8. Xilinx:词汇表
  9. win7计算机 我的文档,我的文档在哪,详细教您win7“我的文档”在哪里
  10. 三七互娱秋招web前端笔试题编程题(使用原生JS实现一个英雄类Hero, 可以按照以下方式调用正确输出)
  11. TCP/UDP端口列表(转)
  12. ↖杨过↖ ↗小龙女↗
  13. 华为Atlas200dk使用第四步------配置CANNtoolkit环境
  14. Proxyee-down 3.x的下载与安装
  15. 笔记本上的 Ctrl 键突然无法使用
  16. 三次握手与四次挥手过程详解
  17. 网络安全学习(渗透测试方法论,web架构安全分析,信息收集)
  18. jQuery第三方插件
  19. 2021 CCF 非专业级别软件能力认证第一轮(CSP-S1)提高级
  20. php nbl2,NBL二年级新军杀入总决赛 虽败犹荣已创造历史

热门文章

  1. Windows安装MySQL 5.5完整步骤图解
  2. Spring SpEL表达式
  3. python url编码 空格_使用请求和python时URL中的空格
  4. python3.7安装包多大_python3.7 pip 安装第三方包
  5. java动态代理_Java 动态代理和依赖注入
  6. Cpp / checked_delete 原理
  7. DNS、IP地址、子网掩码和网关
  8. 启明云端分享| ESP32-C3智能写字板应用解决方案
  9. 支持delete吗_Spark Delta Lake 0.4.0 发布,支持 Python API 和部分 SQL
  10. 普中stm32开发板tftlcd显示图片_STM32实例TFTLCD介绍