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 文件)中的第一个类型来验证结果。
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 文件)中的第一个类型来验证结果。