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 });}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值