2014-02-18 43 views
2

在我的母版頁(.aspx文件)我有這個< div>顯示頁面標題:如何從站點地圖文件獲取當前頁面標題?

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

我也有擁有一些頁面(細節並不是所有的頁面在Web.sitemap文件我的應用程序)

我應該在<h1></h1>之間放置什麼,以便讓母版頁動態顯示當前頁面的頁面標題,並且如果當前頁面不在網站地圖中或沒有標題,則會放置一些默認字符串,如「DEFAULT TITLE」

+0

'Title'是[的SiteMapNode]屬性(http://msdn.microsoft.com/en-us/library/ system.web.sitemapnode(v = vs.110)的.aspx)。你有沒有試過訪問'SiteMap.CurrentNode'? – MikeSmithDev

+0

@MikeSmithDev我試圖把

<%SiteMap.CurrentNode.Title%>

但得到錯誤 –

+0

可能是因爲'CurrentNode'爲null(網址不在網站地圖)。請參閱下面的答案。 – MikeSmithDev

回答

3

如果你想成爲l AZY它在你.aspx文件不關心代碼,簡單地說:

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

是的,我是晚飯懶惰,不想把控制之間

標記然後使用如果其他代碼在後面。謝謝!我試圖把<% %>標籤之間如果其他標籤弄亂了,這種方法更加清晰! –

+0

基本上只是在aspx中使用'<%:MasterTitle%>'是不「懶惰」的方式,然後在'MasterTitle {get {SiteMap.CurrentNode!= null? ...}}' – Nol

+0

@Nol是的,這是一種方法來做到這一點。或者使用服務器標籤......只是讓前端更清潔。 – MikeSmithDev