我在2sxc dnn模块中创建了类型超链接的字段。
现在如果我在剃刀脚本中使用它,我会得到指向此页面的URL,这是可以的。
eg:
@Content.LinkFieldName
但是现在我需要创建某种导航来向我显示此链接的所有子页面。哇,我可以得到这个链接吗?
eg:
foreach(var page in Content.LinkFileldName.GetChildren???){
<li>@page.Name</li>
}
答案 0 :(得分:0)
这是一种方式: 首先,获取页面的DotNetNuke TabInfo(使用Content.LinkFieldName调用函数):
[self colorGen]
现在你有了页面网址的TabInfo,并让另一个函数得到了孩子:
public static TabInfo GetTabByUrl(string url){
foreach(var tab in TabController.GetPortalTabs(0, -1, false, true)){
if (tab.FullUrl==url) return tab;
}
return null;
}
现在所有人都召集在一起列出孩子......
public static List<TabInfo> GetChildren(TabInfo ti){
var list = new List<TabInfo>();
foreach(var tab in TabController.GetPortalTabs(0, -1, false, true)){
if (ti.TabID==tab.ParentId) list.Add(tab);
}
return list;
}
这是我使用的命名空间:
<ul>
@foreach(var page in GetChildren(GetTabByUrl(Content.LinkFieldName))){
<li><a href="@page.FullUrl">@page.TabName</a></li>
}
</ul>