-1

我有一个我继承的 Web 应用程序,它包含一个页面,该页面根据传递给它的对象的状态决定您需要访问哪个 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。

4

1 回答 1

0

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

于 2012-05-14T14:27:12.417 回答