J'ai vu une bonne solution sur le site d'un étranger, alors je l'ai simplement compilée :
Dans une application ASP.NET, il est souvent nécessaire de modifier dynamiquement le titre de la page. Un exemple typique est que dans un contrôle de navigation de page, sur lequel le lien est censé être cliqué par l'utilisateur, le contenu pertinent sera affiché dans le champ. titre de la page. Par exemple, un site Web a la structure suivante :
S'il existe des catégories de livres, puis des catégories de livres chinois et de livres étrangers, vous pouvez généralement utiliser la forme de l'arborescence ou le nouveau contrôle de barre de navigation d'asp.net 2.0.
(plan du site), à réaliser, comme
les livres--->Livres chinois ;
Livres---->Livres étrangers, etc., et si à ce moment-là, il peut également afficher "Livres-->Livres chinois" dans la partie <titre> de la page, ce serait plus intuitif et évident.
Dans asp.net 2.0, nous pouvons utiliser le contrôle côté serveur dans la partie <head> pour y parvenir. Tout d'abord, nous devons ajouter des balises.
<head runat="server">
Ensuite, vous pouvez modifier le contenu du titre dans l'événement page_load sous la forme suivante, par exemple
Page.Header.Title = "L'heure actuelle est : " & DateTime.Now.ToString()
, ou peut être simplement écrit sous la forme page.title.
Ensuite, nous pouvons le combiner avec le contrôle sitemap de cette manière. La méthode d'implémentation est la suivante :
Const DEFAULT_UNNAMED_PAGE_TITLE As String = "Untitled Page".
Const DEFAULT_PAGE_TITLE As String = "Bienvenue sur mon site Web !!"
Sous-Page_Load protégé (expéditeur ByVal en tant qu'objet, ByVal et système.EventArgs) gère Me.Load
'Définissez le titre de la page, si nécessaire
Si String.IsNullOrEmpty(Page.Title) OrElse Page.Title = DEFAULT_UNNAMED_PAGE_TITLE Alors
Si SiteMap.CurrentNode n'est rien, alors
Page.Titre = DEFAULT_PAGE_TITLE
Autre
Page.Title = GetPageTitleBasedOnSiteNavigation()
'Vous pouvez également utiliser ce qui suit si vous préférez
'Page.Titre = GetPageTitleBasedOnSiteNavigationUsingRecursion(SiteMap.CurrentNode)
Fin si
Fin si
Fin de
la fonction sous-privée GetPageTitleBasedOnSiteNavigation() en tant que chaîne
Si SiteMap.CurrentNode n'est rien, alors
Lancez une nouvelle exception ArgumentException ("currentNode ne peut pas être rien")
Fin Si
'Nous visitons une page définie dans le plan du site - construisez le titre de la page
'basé sur la place du nœud du plan du site dans la hiérarchie
Dim sortie As String = String.Empty
Dim currentNode As SiteMapNode = SiteMap.CurrentNode
While currentNode IsNot Nothing
Si sortie.Longueur > 0 Alors
sortie = currentNode.Title & " :: " & sortie
Autre
sortie = currentNode.Titre
Fin Si
currentNode = currentNode.ParentNode
Fin pendant
le retour de la sortie
End Function
prédéfinit d'abord deux constantes, puis établit progressivement le nœud du plan du site. Au début, le nœud est nul, puis appelle.
GetPageTitleBasedOnSiteNavigation() Ce processus peut être implémenté en connectant chaque nœud de plan de site avec une chaîne et en le renvoyant finalement à page.title. Bien sûr, il peut également être implémenté de manière récursive.
Source : http://jackyrong.cnblogs.com/archive/2006/05/15/400345.html