我的内容采用以下方式构建。
每个Home
文档类型都连接到主布局模板。
在我的主布局中,我尝试通过编写此代码来找到Home
节点。
var home = Model.Content.Siblings().FirstOrDefault(x => x.DocumentTypeAlias == "Home");
这适用于Home
节点上的im,但是当我转到前面时。 Page 1
我收到了例外,因为Home
不是Page 1
的兄弟。
然后我试了一下。
var home= Umbraco.TypedContentAtXPath("//Home").FirstOrDefault();
当我在Website A
时它返回了第一个节点,这很有效。
但是在Website B
时,我仍然有Website A
个节点,这是错误的。
有关如何解决此问题的任何提示?
答案 0 :(得分:4)
实现这一目标的几种不同方法,但以下将是最简洁的:
var home = Model.Content.AncestorsOrSelf("Home").FirstOrDefault();
答案 1 :(得分:0)
我找到了解决方案:
var home = Model.Content.AncestorOrSelf(2).Children().FirstOrDefault(x => x.DocumentTypeAlias == "Home");