从Umbraco获取ASP.NET部分的站点地图

时间:2011-04-27 13:10:47

标签: c# asp.net umbraco

我有一个网站,它有两部分:第一部分是在Umbraco CMS(v4.7)中制作的,第二部分是在ASP.NET中制作的。 任务是从Umbraco的ASP.NET部分获取站点地图(不仅仅是页面名称,我还需要一些参数)。

我只知道如何做这样的事情 - 在Umbraco中编写一个XML文件,然后在ASP.NET中打开它,但我没有找到任何方法。

如果您有任何想法,请提供帮助。

非常感谢

维拉德

2 个答案:

答案 0 :(得分:1)

你可以做这样的事......

using umbraco.presentation.nodeFactory;

public string CreateSitemap()
{
    var temp = "<ul>" + sitemap(-1) + "</ul>";
    return temp;
}

public string sitemap(int nodeID)
{
    var rootNode = new umbraco.presentation.nodeFactory.Node(nodeID);
    string sitemapstring = "<li><a href=" + rootNode.Id + ">" + rootNode.Name + "</a></li>";
    if(rootNode.Children.Count>0)
    {
        sitemapstring+="<ul>";
        foreach(Node node in rootNode.Children)
        {
            sitemapstring += sitemap(node.Id);
        }
        sitemapstring+="</ul>";
    }
    return sitemapstring;

}

答案 1 :(得分:0)

也许你应该查看Razor版的this sitemap package(在底部)?