Vi una buena solución en el sitio web de un extranjero, así que simplemente la compilé:
En una aplicación ASP.NET, a menudo es necesario modificar dinámicamente el título de la página. Un ejemplo típico es que en un control de navegación de página, en qué enlace se espera que el usuario haga clic, el contenido relevante se mostrará en el. título de la página. Por ejemplo, un sitio web tiene la siguiente estructura de sitio web:
Si hay categorías de libros, y luego están las categorías de libros chinos y extranjeros, generalmente puede usar la forma de árbol o el nuevo control de la barra de navegación de asp.net 2.0.
(mapa del sitio), para lograr, como
libros--->libros chinos;
Libros---->Libros extranjeros, etc., y si en este momento también se puede mostrar "Libros-->libros chinos" en la parte <título> de la página, sería más intuitivo y obvio.
En asp.net 2.0, podemos usar el control del lado del servidor en la parte <head> para lograr esto. Primero, necesitamos agregar etiquetas.
<head runat="server">
Luego puede cambiar el contenido del título en el evento page_load de la siguiente forma, como
Page.Header.Title = "La hora actual es: " & DateTime.Now.ToString()
, o puede escribirse simplemente como page.title
Luego, podemos combinarlo con el control del mapa del sitio de esta manera. El método de implementación es el siguiente:
Const DEFAULT_UNNAMED_PAGE_TITLE As String = "Página sin título".
Const DEFAULT_PAGE_TITLE As String = "¡¡Bienvenido a mi sitio web !!"
Subpágina protegida_Load (remitente ByVal como objeto, ByVal y como System.EventArgs) Me maneja.Load
'Establece el título de la página, si es necesario
Si String.IsNullOrEmpty(Page.Title) OrElse Page.Title = DEFAULT_UNNAMED_PAGE_TITLE Entonces
Si SiteMap.CurrentNode no es nada, entonces
Página.Título = DEFAULT_PAGE_TITLE
Demás
Page.Title = GetPageTitleBasedOnSiteNavigation()
'También puedes usar lo siguiente si prefieres
'Page.Title = GetPageTitleBasedOnSiteNavigationUsingRecursion(SiteMap.CurrentNode)
Terminar si
Terminar si
Fin de
la función subprivada GetPageTitleBasedOnSiteNavigation() como cadena
Si SiteMap.CurrentNode no es nada, entonces
Lanzar una nueva excepción de argumento ("el nodo actual no puede ser nada")
Finalizar si
'Estamos visitando una página definida en el mapa del sitio - cree el título de la página
'basado en el lugar del nodo del mapa del sitio en la jerarquía
Salida tenue As String = String.Empty
Dim currentNode As SiteMapNode = SiteMap.CurrentNode
Mientras currentNode no es nada
Si salida.Longitud > 0 Entonces
salida = currentNode.Title & " :: " & salida
Demás
salida = nodoactual.Título
Finalizar si
currentNode = currentNode.ParentNode
Finalizar mientras
se devuelve la salida
la función final
primero predefine dos constantes y luego establece gradualmente el nodo del mapa del sitio. Al principio, el nodo es nulo y luego llama.
GetPageTitleBasedOnSiteNavigation() Este proceso se puede implementar conectando cada nodo del mapa del sitio con una cadena y finalmente devolviéndolo a page.title. Por supuesto, también se puede implementar de forma recursiva.
Fuente: http://jackyrong.cnblogs.com/archive/2006/05/15/400345.html