ASP.NET Core MVC / Razor Pages:页面头部管理
IPageLayout 服务可用于设置页面标题、选定菜单项以及页面的面包屑导航项。由主题负责在页面上呈现这些内容。
IPageLayout 服务
IPageLayout 可注入到任何页面/视图中,用于设置页面头部属性。
页面标题
可按以下示例设置页面标题:
@inject IPageLayout PageLayout
@{
PageLayout.Content.Title = "图书列表";
}
- 页面标题会设置为 HTML
title标签内容(同时包含品牌/应用名称) - 主题可能会在页面内容之前呈现页面标题(基础主题未实现此功能)
面包屑导航
基础主题当前未实现面包屑导航功能
LeptonX Lite 主题支持面包屑导航
可通过 PageLayout.Content.BreadCrumb 添加面包屑导航项
示例:将语言管理添加到面包屑项
PageLayout.Content.BreadCrumb.Add("语言管理");
主题随后会渲染面包屑导航。示例渲染结果如下:
- 默认会显示首页图标。设置
PageLayout.Content.BreadCrumb.ShowHome为false可隐藏 - 默认会将当前页面名称(从
PageLayout.Content.Title获取)添加为最后一项。设置PageLayout.Content.BreadCrumb.ShowCurrent为false可隐藏
您添加的任何项目都会插入在首页和当前页面项之间。可根据需要添加任意数量的项目。BreadCrumb.Add(...) 方法接收三个参数:
text:面包屑项显示的文本url(可选):用户点击面包屑项时跳转的URLicon(可选):与文本一同显示的图标类(如 Font-Awesome 的fas fa-user-tie)
选定菜单项
基础主题当前未实现选定菜单项功能,因为该功能不适用于顶部菜单(这是基础主题目前唯一的菜单选项)
LeptonX Lite 主题支持选定菜单项
可设置与此页面相关的菜单项名称:
PageLayout.Content.MenuItemName = "BookStore.Books";
菜单项名称应与使用导航/菜单系统定义的唯一菜单项名称匹配。这种情况下,期望主题能在主菜单中将该菜单项设置为"激活"状态。
抠丁客



