我在Kentico CMS中有包含少量项目的文件夹。文件夹中的所有内容都是一种文档类型。我想绑定此文件夹中每个项目的名称,但我不知道如何从Kentico获取数据。
答案 0 :(得分:3)
假设您正在创建一个新控件,请将以下内容添加到标记中:
<asp:DropDownList runat="server" ID="drpItems"/>
然后进入代码隐藏:
TreeProvider treeProvider = new TreeProvider(SiteContext.CurrentUser);
TreeNodeDataSet docs = DocumentHelper.GetDocuments("YourSite", "/%", "en-US", true, TreeProvider.ALL_CLASSNAMES, null, "DocumentName", TreeProvider.ALL_LEVELS, false, -1, "DocumentName, DocumentID", treeProvider);
foreach (TreeNode treeNode in docs)
{
drpItems.Items.Add(new ListItem
{
Text = treeNode.DocumentName,
Value = treeNode.DocumentID.ToString()
});
}
调整DocumentHelper.GetDocuments()
方法的参数 - 特别是siteName,nodeAliasPath和您要选择的列。
如果您不使用工作流程/版本控制,则可以使用treeProvider中的SelectNodes()
方法。它具有类似的参数,对于这种情况更有效。