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="@[email protected]">@item.Name</a>
                        </li>
                    }
                }
            }
        }
    </ul>
</div>
<h3 class="page-title">@Model.CurrentName</h3>

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

@{ Html.RenderAction("BreadCrumbs", "Main", new { id = @ViewBag.CLASSID });}
时间: 2024-10-23 11:02:37

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

Bootstrap——面包屑导航(Breadcrumbs)

面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式. Bootstrap 中的面包屑导航(Breadcrumbs)是一个简单的带有 .breadcrumb 类的无序列表. <ol class="breadcrumb"> <li> <a href="#">首页</a> </li> <li> <a href="#">首页2</a> <

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

ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET MVC搭建项目后台UI框架—4.tab多页签支持 ASP.NET MVC搭建项目后台UI框架—5.Demo演示Controller和View的交互 ASP.NET MVC搭建项目后台UI框架—6.客户管理(添加.修改.查询.分页) ASP.NET MVC搭建项目后台UI框架—7.统计报表 ASP.NE

图文详解远程部署ASP.NET MVC 5项目

原文:图文详解远程部署ASP.NET MVC 5项目 话外篇: 由于感觉自己的机器比较慢,配置不好,所以最近想把之前的项目部署到实验室的服务器上,但是由于常不在实验室,所以在想能不能远程部署.因此今天专门研究了一下具体的过程,下面和大家分享一下.本人新手,还望大虾勿喷,有什么问题,还望高手指点. 一.本文实验环境: Windows Server 2012 R2 SQL Server 2012 Express Visual Studio 2013 项目为:ASP.NET MVC 5.0,使用的是L

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

最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错误出现,心中一万只草泥马奔腾而来,这也叫支持吗,这个问题是Visual Studio造成的,不相信的话可以使用Xamarin.Studio创建的asp.net项目,部署过程非常顺利,没有遇到什么问题:本文就是为你解开这个结,如何Visual Studio 2015搞定ASP.NET MVC 5项目的

ASP.NET MVC搭建项目后台UI框架—7、统计报表

ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET MVC搭建项目后台UI框架—4.tab多页签支持 ASP.NET MVC搭建项目后台UI框架—5.Demo演示Controller和View的交互 ASP.NET MVC搭建项目后台UI框架—6.客户管理(添加.修改.查询.分页) ASP.NET MVC搭建项目后台UI框架—7.统计报表 本节,我将通

ASP.NET MVC搭建项目后台UI框架—4、tab多页签支持

目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET MVC搭建项目后台UI框架—4.tab多页签支持 ASP.NET MVC搭建项目后台UI框架—5.Demo演示Controller和View的交互 在点击左侧菜单中的选项时,我希望有Extjs.EasyUI等中类似的tab页签功能,因为这样可以支持多个页面的浏览,有时候我们可能需要同时打开多个页

ASP.NET MVC搭建项目后台UI框架—2、菜单特效

目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 上一篇,已经把整个项目的框框给搭建好了,但是还没有任何js效果实现.这一节,我就来说下关于菜单的特效实现.我需要的效果如下: 需求总结: 点击顶部菜单模块,左侧显示不同模块下面的菜单列表 点击左侧菜单选项,展开下面的子菜单,并折叠其它菜单模块,菜单图标折叠显示为+,展开显示为-. 1.先看下Top视图中代码: 2.在Top视图的head中添加如下js: <script sr

ASP.NET MVC搭建项目后台UI框架—9、服务器端排序

ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET MVC搭建项目后台UI框架—4.tab多页签支持 ASP.NET MVC搭建项目后台UI框架—5.Demo演示Controller和View的交互 ASP.NET MVC搭建项目后台UI框架—6.客户管理(添加.修改.查询.分页) ASP.NET MVC搭建项目后台UI框架—7.统计报表 ASP.NE

利用Powershell自动部署asp.net mvc网站项目 (一)

这一篇中我们会写一些关于自动化部署的代码.我们会使用 Powershell 书写这类代码. 你将发现这篇文章中涉及的东西非常具体,有的要求甚至相当苛刻且可能不具有通用性.这是因为部署从来都是跟环境打交道,部署过程中协作的组建太多,相互之间的交集不可能太大.可能唯一能够通用的是自动化部署的基本原则(只是这篇文章的基本原则): 每一次自动化部署结束之后,应用程序都会有相同的初始状态. 自动化部署的机器非常干净,只有相应的 Windows Server 系统和 .NET Framework.尤其是,不