【发布时间】:2013-06-19 13:21:51
【问题描述】:
可以获取用户在 umbraco cms 中创建的页面。例如,我的用户名是 admin,我想列出我使用 c# 代码(页面名称和页面 url)创建的所有页面。
【问题讨论】:
标签: c# .net content-management-system umbraco
可以获取用户在 umbraco cms 中创建的页面。例如,我的用户名是 admin,我想列出我使用 c# 代码(页面名称和页面 url)创建的所有页面。
【问题讨论】:
标签: c# .net content-management-system umbraco
这是可能的,而且非常简单。这里有几个例子(我使用 razor 吐出值,但这可以很容易地放入用户控件,或写入文件或其他任何东西):
使用DynamicNode:
@{
var userId = 0; //admin
var root = Library.NodeById(-1);
var nodes = root.Descendants().Where("CreatorId == @0", userId);
foreach (var node in nodes)
{
@:@node.Id, @node.Name, @node.Url<br />
}
}
使用 NodeFactory 和 uQuery:
@{
var userId = 0; //admin
var root = new Node(-1);
var nodes = root.GetDescendantNodes(n => n.CreatorID == userId);
foreach (var node in nodes)
{
@:@node.Id, @node.Name, @node.Url<br />
}
}
只需将 0 替换为您的用户 ID。
【讨论】: