【问题标题】:How to get current page title from sitemap file?如何从站点地图文件中获取当前页面标题?
【发布时间】:2014-02-18 16:38:36
【问题描述】:

在我的母版页(.aspx 文件)中,我有这个 div> 来显示页面标题:

<div class="header">
<h1> PAGE TITLE GOES HERE </h1>
</div>

我还有一个 Web.sitemap 文件,其中包含一些页面的详细信息(不是我的应用程序中的所有页面)

我应该在&lt;h1&gt;&lt;/h1&gt; 之间添加什么让母版页动态显示当前页面的页面标题,如果当前页面不在站点地图中或没有标题,则输入一些默认字符串,如“DEFAULT TITLE”

【问题讨论】:

  • Title 是SiteMapNode 的属性。您是否尝试过访问SiteMap.CurrentNode?
  • @MikeSmithDev 我尝试输入

    但出现错误
  • 可能是因为CurrentNode 为空(网址不在站点地图中)。请参阅下面的答案。

标签: c# asp.net .net webforms web.sitemap


【解决方案1】:

如果你想偷懒并且不关心.aspx 文件中的代码,只需:

<h1><%= SiteMap.CurrentNode != null ? SiteMap.CurrentNode.Title : "not in sitemap!" %></h1>

【讨论】:

  • 是的,我很懒惰,不想在

    标记之间放置控件,然后在后面的代码中使用 if else。谢谢!我尝试将 if else 放在 标记之间并搞砸了,这种方法更清晰!
  • 是“不懒惰”的做法,基本上只是在aspx中使用&lt;%: MasterTitle %&gt;,然后在后面的代码中使用MasterTitle { get { SiteMap.CurrentNode != null ? ... } }
  • @Nol 是的,这是一种方法。或者使用服务器标签...只是让前端更干净一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多