我有一个我继承的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。
答案 0 :(得分:0)
完全不相关的错误,抱歉浪费你的时间