2012-06-26 21 views
2

我正在使用SiteMapPath作为我的面包屑。目前它显示了我当前页面的路径,但是我有一条消息显示“你在这里:Level1> Level2> Level3”。 SiteMapPath放置在我的母版页中。我的网页不会出现在.sitemap文件中,因此面包屑将会消失,但消息“您在这里:”不会。有没有办法让我检查.sitemap文件中是否存在URL?如果URL不存在,我想隐藏“你在这里”的消息?谢谢。如何检查URL是否存在于SiteMapPath中?

编辑 我能够让我的代码工作。下面是代码:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (SiteMap.Providers["MYSITEMAPPROVIDER"].CurrentNode == null) 
    { 
     lblMessage.Visible = false; 
    } 
} 

回答

2

这很容易,你有没有尝试使用这样的:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (SiteMap.CurrentNode == null) 
     { 
      this.lblMessage.Visible = false; 
     } 
    } 

Sitemap包含一个静态属性CurrentNode

我已经测试,你可以在主使用这种方法页面,用户控制或页面

+0

这不适合我。您的站点地图是否使用.sitemap文件中的网址? – Anna

+0

我打印出当前节点的URL,它从电子商务网站的StarterSite输出一个页面。有关如何将SiteMap更改为指向我的自定义.sitemap文件的任何想法? – Anna

+0

您的代码以及此线程中的示例代码:http://forums.asp.net/t/1285234.aspx/1允许我弄清楚如何让我的代码工作。谢谢! = d – Anna