Vi uma boa solução no site de um estrangeiro, então simplesmente compilei:
Em uma aplicação ASP.NET, muitas vezes é necessário modificar dinamicamente o título da página. Um exemplo típico é que em um controle de navegação de página, cujo link deverá ser clicado pelo usuário, o conteúdo relevante será exibido no. título da página. Por exemplo, um site tem a seguinte estrutura de site:
Se houver categorias de livros e, em seguida, houver categorias de livros chineses e estrangeiros, geralmente você poderá usar a forma de árvore ou o novo controle da barra de navegação do asp.net 2.0.
(mapa do site), para alcançar, como
livros ---> Livros chineses;
Livros---->Livros estrangeiros, etc., e se neste momento também puder exibir "Livros-->Livros chineses" na parte <título> da página, seria mais intuitivo e óbvio.
No asp.net 2.0, podemos usar o controle do lado do servidor na parte <head> para conseguir isso. Primeiro, precisamos adicionar tags.
<head runat="server">
Em seguida, você pode alterar o conteúdo do título no evento page_load no seguinte formato, como
Page.Header.Title = "A hora atual é: " & DateTime.Now.ToString()
, ou pode ser simplesmente escrito como page.title.
Então, podemos combiná-lo com o controle do mapa do site desta forma. O método de implementação é o seguinte:
Const DEFAULT_UNNAMED_PAGE_TITLE As String = "Untitled Page".
Const DEFAULT_PAGE_TITLE As String = "Bem-vindo ao meu site!!"
Sub Page_Load protegido (ByVal sender As Object, ByVal e As System.EventArgs) Trata Me.Load
'Defina o título da página, se necessário
Se String.IsNullOrEmpty(Page.Title) OrElse Page.Title = DEFAULT_UNNAMED_PAGE_TITLE Então
Se SiteMap.CurrentNode não for nada, então
Página.Título = DEFAULT_PAGE_TITLE
Outro
Page.Title = GetPageTitleBasedOnSiteNavigation()
'Também pode usar o seguinte se preferir
'Página.Title = GetPageTitleBasedOnSiteNavigationUsingRecursion(SiteMap.CurrentNode)
Terminar se
Terminar se
Finalizar
função subprivada GetPageTitleBasedOnSiteNavigation() como string
Se SiteMap.CurrentNode não for nada, então
Throw New ArgumentException("currentNode não pode ser nada")
End If
'Estamos visitando uma página definida no mapa do site - crie o título da página
'com base na posição do nó do mapa do site na hierarquia
Dim output As String = String.Empty
Dim currentNode As SiteMapNode = SiteMap.CurrentNode
Enquanto currentNode não é nada
Se output.Length > 0 Então
saída = currentNode.Title & "::" & saída
Outro
saída = currentNode.Title
Fim se
currentNode = currentNode.ParentNode
Finalizar enquanto
retornar saída
End Function
primeiro predefine duas constantes e, em seguida, estabelece gradualmente o nó do mapa do site. No início, o nó é nulo e depois chama.
GetPageTitleBasedOnSiteNavigation() Este processo pode ser implementado conectando cada nó do mapa do site com uma string e finalmente retornando-o para page.title. Claro, ele também pode ser implementado recursivamente.
Fonte: http://jackyrong.cnblogs.com/archive/2006/05/15/400345.html