我只需要自己使用 7.2.6 来解决这个问题......
因为 BeaverProj 的答案不完整和贬低,我想我会分享。
如果有人有更短的代码来做同样的事情,那就太好了。
@{
var rs = ApplicationContext.Current.Services.RelationService;
var currentPageId = CurrentPage.AncestorOrSelf().Id;
var relations = rs.GetByParentOrChildId(currentPageId);
<h2>Relations</h2>
foreach (Relation relation in relations)
{
if (relation.RelationType.Alias == "relateDocumentOnCopy")
{
// the relation has two ids...
// 1. parent
// 2. child
// we want the opposite one as the id above is for the current node
umbraco.NodeFactory.Node node;
if (relation.ParentId == currentPageId)
{
//get child
node = new umbraco.NodeFactory.Node(relation.ChildId);
}
else
{
node = new umbraco.NodeFactory.Node(relation.ParentId);
}
<text>@node.NiceUrl</text> <br />
}
} }
我还尝试使用带有 lambda [ where ] 语句的 razor 来仅查询别名的结果,但它在视图中不起作用。我可以将其移至控制器,但它可以在视图中使用。