Umbraco.TypedContentSingleAtXPath 总是给错ID

Umbraco.TypedContentSingleAtXPath always giving wrong ID

Umbraco 版本 6.1, Visual Studio 2010

我正在尝试获取 Umbraco 新闻文件夹下的新闻文章列表,即

-News
--NewsArticle1
--NewsArticle2

我的密码是

var docType = "DocumentTypeName";
var parNode = Umbraco.TypedContentSingleAtXPath("//" + docType);

List<IPublishedContent> child = parNode.Children.ToList();

当这条线被命中时

var parNode = Umbraco.TypedContentSingleAtXPath("//" + docType);

它总是给我错误的 parNode(即父节点)id。它找到了正确的文档类型(就像我更改名称时出现错误一样)。

我试过重建、清理项目,但没有用。使用相同代码的其他文件夹可以工作,所以我不知道哪里出了问题?

有什么想法吗?

如果它为您提供了错误的内容节点,那么您可能有两个或更多具有相同 ContentType (docType) 的内容节点。

TypedContentSingleAtXPath 将 return 只有第一个有效匹配并忽略任何后续节点。您可以通过检查所需节点是否是已发布缓存(~/App_Data/Umbraco.config 文件)中的第一个类型来验证结果。