给框架添加一个面包屑导航

1.创建一个类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace SAS.Model.AdminCommon
{ public class BreadCrumbsModel
{
public BreadCrumbsModel()
{
BreadCrumbList = new List<BreadCrumbModel>();
} public bool IsOnlyIndex { get; set; }
public string CurrentName { get; set; } public List<BreadCrumbModel> BreadCrumbList { get; set; }
} public class BreadCrumbModel
{
public bool IsIndex { get; set; }
public bool IsParent { get; set; }
public string Name { get; set; }
public string Icon { get; set; }
public string Url { get; set; }
public string Id { get; set; }
}
}

2.创建一个部分视图

 public PartialViewResult BreadCrumbs(string id)
{
List<BPMS_SysMenu> list = new List<BPMS_SysMenu>();
StringBuilder strWhere = new StringBuilder();
BPMS_SysMenu parentModule = new Model.BPMS_SysMenu();
BPMS_SysMenu childModule = new Model.BPMS_SysMenu();
list = bll.GetModelList(strWhere.ToString()); var model = new BreadCrumbsModel(); parentModule = bll.GetModel(id);
var module = bll.GetModelList(strWhere.ToString()).FirstOrDefault(d => d.MenuId == parentModule.ParentId);
if (module != null)
{
var parentModel = new BreadCrumbModel
{
IsParent = true,
Name = module.FullName,
//Url = module.NavigateUrl,
Icon = module.Img
};
model.BreadCrumbList.Add(parentModel);
var currentModel = new BreadCrumbModel
{
IsParent = false,
Name = parentModule.FullName,
Url = parentModule.NavigateUrl,
Id = parentModule.MenuId,
Icon = ""
};
model.CurrentName = currentModel.Name;
model.BreadCrumbList.Add(currentModel);
ViewBag.CurrentTitle = parentModule.FullName;
}
return PartialView(model);
}

3.给页面添加导航的视图代码

@using SAS.Model.AdminCommon
@model BreadCrumbsModel
<div class="page-bar">
<ul class="page-breadcrumb">
@foreach (var item in Model.BreadCrumbList)
{
if (item.IsIndex)
{
<li>
<i class="@item.Icon"></i>
<a href="@Url.Action("index", "main", new { Area = "admin" })" title="@item.Name">@item.Name</a>
<i class="fa fa-angle-right"></i>
</li> }
else
{
if (Model.BreadCrumbList.Count > 1)
{
if (item.IsParent)
{
<li>
<i class="@item.Icon"></i>
<a href="javascript:void(0)" title="@item.Name">@item.Name</a>
<i class="fa fa-angle-right"></i>
</li>
}
else
{
<li>
<a href="@item.Url?id=@item.Id">@item.Name</a>
</li>
}
}
}
}
</ul>
</div>
<h3 class="page-title">@Model.CurrentName</h3>

4.最后在要显示的地方,加上一段代码,即可运行

@{ Html.RenderAction("BreadCrumbs", "Main", new { id = @ViewBag.CLASSID });}

最新文章

  1. securityCRT mongoDB 命令行删除(backspace/delete)无效问题
  2. flexbox 的相关属性的运用
  3. iOS支持Https
  4. java版本的sqlHelper
  5. 解决CAS单点登录出现PKIX path building failed的问题
  6. 数组名和指针的深入理解(C++)
  7. 图像预处理(Evision)
  8. Java中的泛型类和泛型方法区别和联系
  9. LeetCode 613. Shortest Distance in a Line
  10. 获取当前页面url并截取所需字段
  11. zope.interface 库学习一
  12. Linux基础命令---文本统计wc
  13. NLP--- How to install the tool NLTK in Ubuntu ?
  14. P3489 付公主的背包
  15. php实现远程网络文件下载到服务器指定目录(方法二)
  16. Twitter OA prepare: Two Operations
  17. 【转】游戏buff设计参见
  18. Github入门 - Github基本使用及Github桌面版使用
  19. 基础控制器MVC ,全局判断
  20. Android项目分包---总结-------直接使用

热门文章

  1. 努比亚Z18mini多点对焦
  2. Linux下搜索文件find、which、whereis、locate
  3. 《ASP.NET 1200例》ref关键字与out关键字
  4. 【BZOJ1283/3550】序列/[ONTAK2010]Vacation 最大费用流
  5. python3连接Mongodb
  6. SQL server-自增主键
  7. ubuntu/debian gpg error no_pubkey 解决方法
  8. 剑指Offer——旋转数组的最小数字
  9. [转载]javascript+ajax+jquery教程11--正则表达式
  10. linux c编程:Posix信号量