Razor 在复杂结构Umbraco 7中查找文档类型
我的内容结构如下Razor 在复杂结构Umbraco 7中查找文档类型,razor,umbraco,umbraco7,Razor,Umbraco,Umbraco7,我的内容结构如下 根 网站A 家 第1页 第2页 第N页 网站B 家 网站C 家 每个Home文档类型都连接到主布局模板。 在主布局中,我试图通过编写以下代码来找到Home节点 var home = Model.Content.Siblings().FirstOrDefault(x => x.DocumentTypeAlias == "Home"); 当im在主页节点上时,这一点有效,但当我转到例如第1页时,我会得到一个异常,因为主页不是第1页的同级 然后我试了这
- 根
- 网站A
- 家
- 第1页
- 第2页
- 第N页
- 家
- 网站B
- 家
- 网站C
- 家
- 网站A
Home
文档类型都连接到主布局模板。
在主布局中,我试图通过编写以下代码来找到Home
节点
var home = Model.Content.Siblings().FirstOrDefault(x => x.DocumentTypeAlias == "Home");
当im在主页
节点上时,这一点有效,但当我转到例如第1页
时,我会得到一个异常,因为主页
不是第1页
的同级
然后我试了这个
var home= Umbraco.TypedContentAtXPath("//Home").FirstOrDefault();
当我在websitea
时,它就工作了,因为它返回了第一个节点。
但在网站B
时,我仍然得到网站A
节点,这是错误的
关于如何解决这个问题有什么建议吗?我找到了一个解决方案:
var home = Model.Content.AncestorOrSelf(2).Children().FirstOrDefault(x => x.DocumentTypeAlias == "Home");
我找到了解决办法:
var home = Model.Content.AncestorOrSelf(2).Children().FirstOrDefault(x => x.DocumentTypeAlias == "Home");
有几种不同的方法可以实现这一点,但以下是最简洁的方法:
var home = Model.Content.AncestorsOrSelf("Home").FirstOrDefault();
有几种不同的方法可以实现这一点,但以下是最简洁的方法:
var home = Model.Content.AncestorsOrSelf("Home").FirstOrDefault();