ASP.NET MVC 在项目中使用面包屑导航
给框架添加一个面包屑导航

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 在项目中使用面包屑导航的更多相关文章
- [渣翻译] 在ASP.NET MVC WebAPI项目中使用 AngularJS
原文地址http://blog.technovert.com/2013/12/setting-up-angularjs-for-asp-net-mvc-n-webapi-project/ 我们最近发布 ...
- ASP.NET MVC Web项目中使用Log4Net记录日志,并按照日志类型分文件存储
1.创建MvcLog4Net项目 2.创建 空的MVC项目 3.项目创建完成的效果 4.选择项目,点击鼠标右键,在弹出菜单中选择“管理解决方案的 NuGet 程序包” 5. 在NuGet浏览界面: 点 ...
- Bootstrap <基础十八>面包屑导航(Breadcrumbs)
面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...
- Bootstrap-CL:面包屑导航
ylbtech-Bootstrap-CL:面包屑导航 1.返回顶部 1. Bootstrap 面包屑导航(Breadcrumbs) 面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式 ...
- Bootstrap——面包屑导航(Breadcrumbs)
面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式. Bootstrap 中的面包屑导航(Breadcrumbs)是一个简单的带有 .breadcrumb 类的无序列表. <o ...
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus
最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...
- ASP.NET MVC搭建项目后台UI框架—1、后台主框架
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- ASP.NET MVC搭建项目后台UI框架—11、自动加载下拉框查询
ASP.NET MVC搭建项目后台UI框架—1.后台主框架 需求:在查询记录的时候,输入第一个字,就自动把以这个字开头的相关记录查找出来,输入2个字就过滤以这两个子开头的记录,依次类推. 突然要用到这 ...
随机推荐
- 《linux系统及其编程》实验课记录(一)
实验 1:登录和使用基本的 Linux 命令 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统. 有另外一个无特权用户 student,密码 ...
- 73、ImageView 让图片填充满
在xml里的ImageView中设置 android:scaleType="fitXY"属性,这个属性是让图片填充满, 当然你可以去查一下这个scaleType的其他属性,你要 ...
- 修改project任务的默认开始时间
一般情况下,在project新建一个项目之后,在这个项目里每新添加一个任务,它的默认开始时间都是取的本项目的创建时间.但这可能并不是我们所需要的. 其实在这里,project取的默认开始时间都是整个项 ...
- UI层复习笔记
在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是整个应用程序的一 ...
- group_concat 多对多关联, 统计分组数据, 结果拼接到一个字段
统计用户所有的角色, 结果: 1 张三 普通用户,管理员,XXX 2 李四 普通用户, XXX select ur.user_id,u.login_name,GROUP_CONCAT ...
- 大话Python程序的命名规范
1.全局变量名: 全部大写 MY_GLOBAL_VAR 2. 类名: 首字母大写,总是使用首字母大写单词串,如MyClass,内部类可以使用额外的前导下划线: 3.普通变量,普通函数名,文件名: 全部 ...
- pro_select_roleinfo_p3
DELIMITER | drop procedure if exists pro_select_roleinfo_p3; CREATE PROCEDURE pro_select_roleinfo_p3 ...
- cpp中文乱码
中文乱码 [root@test mediaStudio]# g++ testCgi.cpp [root@test mediaStudio]# ./a.out Content-type:text/htm ...
- HTTP缓存实现的原理
浏览器是如何知道使用缓存的,其实这都是通过http中,浏览器将最后修改时间发送请求给web服务器,web服务器收到请求后跟服务器上的文档最后修改的时间对比,如果web服务器上最新文档修改时间小于或者等 ...
- WSGI基础知识(转)
add by zhj: WSGI全称Web Server Gateway Interface,即Web网关接口.其实它并不是OSI七层协议中的协议,它就是一个接口(即函数)而已,而WSGI规定了该接口 ...