在 Kentico 8.1 中遍历页面别名
Iterate through Page Alias in Kentico 8.1
有没有办法在代码 C# 中迭代网站中每个 Kentico 页面的所有页面别名(URL)?
我正在使用 Kentico 8.1
您必须使用 DocumentAliasInfoProvider
才能做到这一点。
// Specify site identifier
var siteId = 3;
// Get all docs
var docs = DocumentHelper.GetDocuments().Where("NodeSiteID", QueryOperator.Equals, siteId).Columns("NodeID");
foreach (var doc in docs)
{
// Iterate through docs and retrieve aliases for each of them
var aliases = DocumentAliasInfoProvider.GetDocumentAliases().Where("AliasNodeID", QueryOperator.Equals, doc.NodeID);
foreach (var alias in aliases)
{
lbl.Text += alias.AliasURLPath + "<br />";
}
}
如果您不想遍历文档,您可以直接 select 站点的别名:
var aliases2 = DocumentAliasInfoProvider.GetDocumentAliases().Where("AliasSiteID", QueryOperator.Equals, siteId);
foreach (var alias in aliases2)
{
lbl.Text += alias.AliasURLPath + "<br />";
}
站点标识符可以通过调用检索:
// For sites other than current
var siteId = SiteInfoProvider.GetSiteID("codename_of_your_site");
// OR
var siteId = SiteContext.CurrentSiteID;
请参考API Examples。
有没有办法在代码 C# 中迭代网站中每个 Kentico 页面的所有页面别名(URL)?
我正在使用 Kentico 8.1
您必须使用 DocumentAliasInfoProvider
才能做到这一点。
// Specify site identifier
var siteId = 3;
// Get all docs
var docs = DocumentHelper.GetDocuments().Where("NodeSiteID", QueryOperator.Equals, siteId).Columns("NodeID");
foreach (var doc in docs)
{
// Iterate through docs and retrieve aliases for each of them
var aliases = DocumentAliasInfoProvider.GetDocumentAliases().Where("AliasNodeID", QueryOperator.Equals, doc.NodeID);
foreach (var alias in aliases)
{
lbl.Text += alias.AliasURLPath + "<br />";
}
}
如果您不想遍历文档,您可以直接 select 站点的别名:
var aliases2 = DocumentAliasInfoProvider.GetDocumentAliases().Where("AliasSiteID", QueryOperator.Equals, siteId);
foreach (var alias in aliases2)
{
lbl.Text += alias.AliasURLPath + "<br />";
}
站点标识符可以通过调用检索:
// For sites other than current
var siteId = SiteInfoProvider.GetSiteID("codename_of_your_site");
// OR
var siteId = SiteContext.CurrentSiteID;
请参考API Examples。