版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_36792339/article/details/82876656
一、下拉框的使用
后台:
Model.Entities db = new Model.Entities();
private ActionResult TreeBind()
{
List<StrucInfo> list = db.StrucInfo.ToList(); // 1、将数据集从数据库下载下来,存储在变量里,后面的操作都是从变量里面去过滤还拼接
List<StrucInfo> parentList = list.Where(o => o.StrucPid == 0).ToList();
List<StrucInfo> childList = null;
List<SelectListItem> select1 = new List<SelectListItem>();
//这里实现三级下拉 可以放实体数据 也可以数据库读取 (不过需要修改里面与数据库对应的字段名)
select1.Add(new SelectListItem { Value = 0.ToString(), Text = "顶级目录" });
foreach (var item in parentList)
{
select1.Add(new SelectListItem { Value = item.StrucId.ToString(), Text = "├ " + item.StrucName });
childList = list.Where(o => o.StrucPid == item.StrucId).ToList(); // 1、将数据集在条件查询
foreach (var child in childList)
{
string name1 = HttpUtility.HtmlDecode(" ├ " + child.StrucName);
select1.Add(new SelectListItem
{
Value = child.StrucId.ToString(),
Text = name1
});
childList = list.Where(o => o.StrucPid == child.StrucId).ToList();
foreach (var childs in childList)
{
string names = HttpUtility.HtmlDecode(" ├" + childs.StrucName);
select1.Add(new SelectListItem
{
Value = childs.StrucId.ToString(),
Text = names
});
}
}
}
ViewData["selCategorys"] = new SelectList(select1, "Value", "Text", "");
return View();
}
public ActionResult Index()
{
TreeBind();
//List<UserInfo> userinfo = db.UserInfo.Where(u =>u.UserId ==1).ToList();//获取用户的信息
//List<OrgInfo> orginfo = db.OrgInfo.Where(u => u.OrgOwn == 1).ToList(); //获取拥有的组织 tolist 草可
//List<StrucInfo> strucinfo = db.StrucInfo.Where(u => u.StrucOrgIdPk== 1).ToList(); //获取拥有的组织
return View();
}
前台
@Html.DropDownList("ArticleType", ViewData["selCategorys"] as SelectList, new { @class = "form-control", filter = "false" })
二、拼接菜单
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace LawOA.UserWeb.Controllers
{
public class IndexController : Controller
{
// GET: Index
Model.Entities db = new Model.Entities();
private string Menubind()
{
List<OrgInfo> orginfo = db.OrgInfo.Where(u => u.OrgOwn == 1).ToList(); //获取用户拥有的组织 ToList用户遍历
List<StrucInfo> orginfolist;
List<StrucInfo> parentList;
List<StrucInfo> childList;
List<SelectListItem> select1 = new List<SelectListItem>();
string data="";
foreach (var item in orginfo) //组信息 例如 若干律师所
{
data+= " <div class='team-group'> <div class='team-group-title-box active'> <div class='lvsuo'>律所</div> <div class='team-group-title'> <p class=' overflow-hidden mb5'>不知所谓律师事务所<i class='iconfont icon-qiyegongchangjianzhu color-orange fr f20'></i></p> <p><i class='iconfont icon-tuanduishezhi f24 vm mr5'></i>5人</p> </div></div>";
data += "<div class='team-group-list'> <dl>";
orginfolist = db.StrucInfo.Where(u => u.StrucOrgIdPk == item.OrgId).ToList();//获取 组织结构为律所id的所有结构
parentList = orginfolist.Where(o => o.StrucPid == 0).ToList();
childList = null;
foreach (var childItem in parentList)
{
data += " <dd class='content-level1'><i class='iconfont icon-fenji f14 vsup' ></i>" + childItem.StrucName + "</dd>";
//start循环调用可以实现无限极
childList = orginfolist.Where(o => o.StrucPid == childItem.StrucId).ToList(); // 1、将数据集在条件查询
foreach (var child in childList)
{
data += " <dd class='content-level2'><i class='iconfont icon-fenji f14 vsup' ></i>" + child.StrucName + "</dd>";
}
//end循环调用
}
data += "</dl ></div ></div >";
}
//List<StrucInfo> list = db.StrucInfo.ToList();
//List<StrucInfo> parentList = list.Where(o => o. == 0).ToList(); //先获取父节点
// return Content(data);
return data.ToString();
}
public ActionResult Index()
{
ViewData["name"] = Menubind();
//List<UserInfo> userinfo = db.UserInfo.Where(u =>u.UserId ==1).ToList();//获取用户的信息
//List<OrgInfo> orginfo = db.OrgInfo.Where(u => u.OrgOwn == 1).ToList(); //获取拥有的组织 tolist 草可
//List<StrucInfo> strucinfo = db.StrucInfo.Where(u => u.StrucOrgIdPk== 1).ToList(); //获取拥有的组织
return View();
}
}
}