ASP.Net SiteMap URL Distinction

时间:2012-05-14 08:24:43

标签: c# asp.net sitemap

我有一个我继承的Web应用程序,它包含一个页面,根据传入其中的对象的状态决定您需要访问哪个URL。

URL位于站点地图中,并且有一种方法可以检索所有这些URL。

private Dictionary<string, string> GetUrls() {
    var urls = new Dictionary<string, string>();
    var provider = SiteMap.Provider;

    var page1 = provider.FindSiteMapNodeFromKey("page1");
    var page2 = provider.FindSiteMapNodeFromKey("page2");


    if (page1 == null || page2 == null)
    {
        throw new ApplicationException("Pages not found in sitemap");
    }

    urls["page1URL"] = page1.Url.ToString(CultureInfo.InvariantCulture);
    urls["page2URL"] = page2.Url.ToString(CultureInfo.InvariantCulture);

    return urls;
}

遗憾的是,在此方法中,page1和page2始终为null

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true">
    <siteMapNode resourceKey="Concessions" rule="AllowRead">
        <siteMapNode url="/page1.aspx" resourceKey="page1" rule="AllowAuthorised"/>
        <siteMapNode url="/page2.aspx" resourceKey="page2" rule="AllowAuthorised"/>
    </siteMapNode>
</siteMap>

我试图通过这个过程进行调试但是我没有接近问题。 所以回顾一下,我需要这个方法来返回站点地图中定义的页面的URL。

1 个答案:

答案 0 :(得分:0)

完全不相关的错误,抱歉浪费你的时间