Ich habe auf der Website eines Ausländers eine gute Lösung gesehen und sie einfach zusammengestellt:
In einer ASP.NET-Anwendung ist es häufig erforderlich, den Titel der Seite dynamisch zu ändern. Ein typisches Beispiel ist, dass in einem Seitennavigationssteuerelement der relevante Inhalt angezeigt wird, auf den der Benutzer klicken soll Titel der Seite: Eine Website hat beispielsweise die folgende Website-Struktur:
Wenn es Buchkategorien und dann chinesische Bücher und ausländische Buchkategorien gibt, können Sie im Allgemeinen die Baumform oder die neue Navigationsleistensteuerung von asp.net 2.0 verwenden.
(Sitemap), um zu erreichen, wie
Bücher --->Chinesische Bücher;
Bücher ---->Ausländische Bücher usw. Wenn zu diesem Zeitpunkt auch „Bücher -> Chinesische Bücher“ im <Titel>-Teil der Seite angezeigt werden kann, wäre dies intuitiver und offensichtlicher.
In asp.net 2.0 können wir dazu die serverseitige Steuerung im <head>-Teil verwenden. Zuerst müssen wir Tags hinzufügen
<head runat="server">
Anschließend können Sie den Titelinhalt im page_load-Ereignis in der folgenden Form ändern, z
Page.Header.Title = "Die aktuelle Zeit ist: " & DateTime.Now.ToString()
, oder kann einfach als page.title geschrieben werden.
Dann können wir es mit dem Sitemap-Steuerelement auf diese Weise kombinieren:
Const DEFAULT_UNNAMED_PAGE_TITLE As String = „Untitled Page“.
Const DEFAULT_PAGE_TITLE As String = „Willkommen auf meiner Website!!“
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Behandelt Me.Load
'Legen Sie bei Bedarf den Titel der Seite fest
Wenn String.IsNullOrEmpty(Page.Title) OrElse Page.Title = DEFAULT_UNNAMED_PAGE_TITLE Dann
Wenn SiteMap.CurrentNode nichts ist, dann
Page.Title = DEFAULT_PAGE_TITLE
Anders
Page.Title = GetPageTitleBasedOnSiteNavigation()
'Kann bei Bedarf auch Folgendes verwenden
'Page.Title = GetPageTitleBasedOnSiteNavigationUsingRecursion(SiteMap.CurrentNode)
Ende wenn
Ende wenn
End Sub
Private Function GetPageTitleBasedOnSiteNavigation() als String
Wenn SiteMap.CurrentNode nichts ist, dann
Throw New ArgumentException („currentNode darf nicht Nothing sein“)
Ende:
„Wir besuchen eine in der Sitemap definierte Seite – erstellen Sie den Seitentitel.“
'Basierend auf der Position des Sitemap-Knotens in der Hierarchie.
Ausgabe dimmen als String = String.Empty
Dim currentNode As SiteMapNode = SiteMap.CurrentNode
While currentNode IsNot Nothing
Wenn Output.Length > 0, dann
Ausgabe = currentNode.Title & „:“ & Ausgabe
Anders
Ausgabe = currentNode.Title
Ende Wenn
currentNode = currentNode.ParentNode
End While
Return-Ausgabe
die Endfunktion
zunächst zwei Konstanten und richtet dann nach und nach den Knoten der Sitemap ein. Zu Beginn ist der Knoten null und ruft ihn dann auf
GetPageTitleBasedOnSiteNavigation() Dieser Prozess kann implementiert werden, indem jeder Sitemap-Knoten mit einem String verbunden und schließlich an page.title zurückgegeben wird. Natürlich kann er auch rekursiv implementiert werden.
Quelle: http://jackyrong.cnblogs.com/archive/2006/05/15/400345.html