ASP.NET MVC 在项目中使用面包屑导航
2024-08-27 18:28:20
给框架添加一个面包屑导航
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 });}
最新文章
- securityCRT mongoDB 命令行删除(backspace/delete)无效问题
- flexbox 的相关属性的运用
- iOS支持Https
- java版本的sqlHelper
- 解决CAS单点登录出现PKIX path building failed的问题
- 数组名和指针的深入理解(C++)
- 图像预处理(Evision)
- Java中的泛型类和泛型方法区别和联系
- LeetCode 613. Shortest Distance in a Line
- 获取当前页面url并截取所需字段
- zope.interface 库学习一
- Linux基础命令---文本统计wc
- NLP--- How to install the tool NLTK in Ubuntu ?
- P3489 付公主的背包
- php实现远程网络文件下载到服务器指定目录(方法二)
- Twitter OA prepare: Two Operations
- 【转】游戏buff设计参见
- Github入门 - Github基本使用及Github桌面版使用
- 基础控制器MVC ,全局判断
- Android项目分包---总结-------直接使用
热门文章
- 努比亚Z18mini多点对焦
- Linux下搜索文件find、which、whereis、locate
- 《ASP.NET 1200例》ref关键字与out关键字
- 【BZOJ1283/3550】序列/[ONTAK2010]Vacation 最大费用流
- python3连接Mongodb
- SQL server-自增主键
- ubuntu/debian gpg error no_pubkey 解决方法
- 剑指Offer——旋转数组的最小数字
- [转载]javascript+ajax+jquery教程11--正则表达式
- linux c编程:Posix信号量