var altLink = new DataQuery()
.From("CMS_AlternativeURL")
.Where("AlternativeUrlUrl = @URL", new QueryDataParameters { new
DataParameter("@URL", altURL) })
.Execute()
?.Tables[0]
?.AsEnumerable();
if (altLink != null)
{
var altLinkFirst = altLink
.ToList()
.FirstOrDefault();
page = new TreeProvider()
.SelectSingleDocument(altLinkFirst.Field<int>("AlternativeUrlDocumentID"));
Таким образом, CMS_AlternativeURL - это таблица с парами alturl и url. Затем я передаю строку в качестве пути псевдонима, пытаюсь найти его в дереве провайдера, и если я не могу его найти, я запускаю его, который связывает альтернативный URL (заданную строку), и он возвращает обратную связь с documentId, если он существует.
если вместо этого вы пытаетесь получить альтернативные URL-адреса из treenode, запустите запрос данных, где AlternativeUrlDocumentID = documentmentid для treennode.