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

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 });}

ASP.NET MVC 在项目中使用面包屑导航的更多相关文章

  1. [渣翻译] 在ASP.NET MVC WebAPI项目中使用 AngularJS

    原文地址http://blog.technovert.com/2013/12/setting-up-angularjs-for-asp-net-mvc-n-webapi-project/ 我们最近发布 ...

  2. ASP.NET MVC Web项目中使用Log4Net记录日志,并按照日志类型分文件存储

    1.创建MvcLog4Net项目 2.创建 空的MVC项目 3.项目创建完成的效果 4.选择项目,点击鼠标右键,在弹出菜单中选择“管理解决方案的 NuGet 程序包” 5. 在NuGet浏览界面: 点 ...

  3. Bootstrap <基础十八>面包屑导航(Breadcrumbs)

    面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...

  4. Bootstrap-CL:面包屑导航

    ylbtech-Bootstrap-CL:面包屑导航 1.返回顶部 1. Bootstrap 面包屑导航(Breadcrumbs) 面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式 ...

  5. Bootstrap——面包屑导航(Breadcrumbs)

    面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式. Bootstrap 中的面包屑导航(Breadcrumbs)是一个简单的带有 .breadcrumb 类的无序列表. <o ...

  6. ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  7. 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus

    最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...

  8. ASP.NET MVC搭建项目后台UI框架—1、后台主框架

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  9. ASP.NET MVC搭建项目后台UI框架—11、自动加载下拉框查询

    ASP.NET MVC搭建项目后台UI框架—1.后台主框架 需求:在查询记录的时候,输入第一个字,就自动把以这个字开头的相关记录查找出来,输入2个字就过滤以这两个子开头的记录,依次类推. 突然要用到这 ...

随机推荐

  1. LoadLibrary失敗,GetLastError 返回127錯誤

    該原因一般是由於DLL或其依賴的DLL使用了高版本的API,而在低系統中運行時,找不到該函數所引發的錯誤. 比如:該函數:InterlockedExchange64, 看MSDN: Client Re ...

  2. 第九篇:使用 lstat 函数获取文件信息

    前言 在之前的文章中,描述过如何用 fcntl 函数改变文件的状态标记.但,文件还有很多信息,如文件类型,权限设置,设备编号,访问时间等等.如果要获取这些信息,则使用函数 lstat 可以轻松达到这个 ...

  3. AngularJS 讲解,一 数据绑定

    AngularJS 完全使用javascript 编写的客户端技术.通过原生的Model-View-Controller(MVC,模型视图控制器)功能增强了HTML.这个选择可以快捷和愉悦地构建出 ...

  4. Thrift快速入门

    Thrift 简单示例 2017-01-19 16:47:57 首先通过先面两个示例简单感受一下Thrift(RPC)服务端与客户端之间的通信...... RPC学习----Thrift快速入门和Ja ...

  5. HTML、DOM和JS的了解

    1.HTML.JS.以及DOM的关系的关系说明 关于HTML.JS.以及DOM的关系一直很迷惑,虽然一直听人说,但并未理解. 偶然间,忽然懂了这三者之间的关系. 举例吧: HTML就是最终的页面,是一 ...

  6. monggodb 模糊查询

    MongoDB的模糊查询其实很简单:      11.LIKE模糊查询userName包含A字母的数据(%A%)       SQL:SELECT * FROM UserInfo WHERE user ...

  7. Web 编程中路径问题

    web.xml 中 <url-pattern> 路径(即 Servlet 路径) 要么以 "*" 开头, 要么以 "/" 开头. 转发和包含路径(服 ...

  8. numpy.random.random & numpy.ndarray.astype & numpy.arange

    今天看到这样一句代码: xb = np.random.random((nb, d)).astype('float32') #创建一个二维随机数矩阵(nb行d列) xb[:, 0] += np.aran ...

  9. 贪玩ML系列之一个BP玩一天

    手写串行BP算法,可调batch_size 既要:1.输入层f(x)=x  隐藏层sigmoid 输出层f(x)=x 2.run函数实现单条数据的一次前馈 3.train函数读入所有数据for循环处理 ...

  10. 解决ajax post json数据 后端无法收到的问题

    如图,想把input框中的文字以json格式post出去,结果后端收不到 使用wireshark抓包,根本没有抓到发往服务器的包,说明错误在前端. 后来发现ajax post json数据的时候key ...