razor - 如何使用 C# 在 2sxc 中为横幅英雄创建面包屑导航?
问题描述
使用 2sxc,我有一个英雄模块,我在整个网站的所有页面上都使用它。它看起来像这样:
它使用“@Content.Title”作为 h1 标签,因此它显示“Scholarships”。但我需要制作一个面包屑来获取当前页面的父页面名称。所以在这种情况下,“老师”。
例如,这个英雄也存在于“志愿者”等其他页面上,并且它有一个“参与”的父级,因此面包屑会动态显示“参与”。
到目前为止,这是我的代码:
@if (@Dnn.Tab.ParentId != -1) {
<nav class="uppercase text-sm font-semibold tracking-wider"><span class="text-honeydew visited:text-honeydew">@Dnn.Tab.ParentID</span> <span>/</span></nav>
}
这适用于处理根页面上的英雄(不显示面包屑)。但我似乎只能输出 ParentID。
如何使用 @Dnn.Tab.ParentID 使用 c# 获取父选项卡的名称?或者还有其他方法可以解决这个问题吗?
解决方案
最简单的事情是使用 TabController 将 TabId 转换为 TabInfo
@using DotNetNuke.Entities.Tabs
@functions {
private TabInfo GetTabInfo(int tabId)
{
return TabController.Instance.GetTab(tabId, Dnn.Portal.PortalId);
}
}
因此,只需像这样使用 .ParentId 将其全部调用...
<pre>
Debug:
Parent Page Name: @GetTabInfo(Dnn.Tab.ParentId).TabName
</pre>
推荐阅读
- spring - Spring Boot以不同的顺序加载日志类
- reactjs - 我可以将“数组或迭代器中的每个孩子都应该有一个唯一的“关键”道具”警告变成错误吗?
- android - 如何在android上并排制作一个按钮和彩色矩形?
- python - 如何使用 google-auth 实例化 Google API 服务?
- inheritance - 利用 addLiquid() 和 pourLiquid() 方法从对象“转移”液体
- spring - 即使步骤完成,使用 FlowBuilder 的 Spring Batch 作业也会失败
- javascript - 从内部快速路由器调用异步函数
- javascript - NetSuite:如何隐藏帐户页面上的列?
- javascript - 使用 iframe 在 React 应用程序中渲染 HTML
- go - flag.StringVar 以结构为目标