从网站地图文件中获取当前页面标题的方法是什么?

3
在我的母版页(.aspx文件)中,我有以下代码用于显示页面标题的
元素:
<div class="header">
<h1> PAGE TITLE GOES HERE </h1>
</div>

我还有一个Web.sitemap文件,其中保存了一些页面的详细信息(并非应用程序中所有页面)

<h1></h1>之间应该放置什么内容,以便主页面动态显示当前页面的页面标题,并且如果当前页面不在站点地图中或者没有标题,则显示一些默认字符串,如“DEFAULT TITLE”。


TitleSiteMapNode的一个属性。你尝试过访问SiteMap.CurrentNode吗? - MikeSmithDev
@MikeSmithDev 我尝试放置<h1><%SiteMap.CurrentNode.Title%></h1>,但是出现错误。 - Ronaldinho Learn Coding
很可能是因为CurrentNode为空(该网址不在站点地图中)。请参见下面的答案。 - MikeSmithDev
1个回答

4
如果您想偷懒且不在乎您的.aspx文件中的代码,可以简单地执行以下操作:
<h1><%= SiteMap.CurrentNode != null ? SiteMap.CurrentNode.Title : "not in sitemap!" %></h1>

是的,我很懒,不想在<h1> </h1>标签之间加控件,那就在代码后端使用if else语句。谢谢!我试过在<% %>标签之间加if else语句,结果搞乱了,这种方法更清晰明了! - Ronaldinho Learn Coding
“不懒惰”的做法基本上就是在aspx中使用<%: MasterTitle %>,然后在代码后台中使用MasterTitle { get { SiteMap.CurrentNode != null ? ... } } - Nol
@Nol 是的,那是一种方法。或者使用服务器标记...只是让前端更加清洁。 - MikeSmithDev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接