Pergunta

Com ASP.Net 2.0, você pode usar a propriedade Title para mudar o título da página:

Page.Title = "New Title";

Mas desde que em ASP.Net 1.1 não é uma propriedade Title na classe Page, como posso mudar o título da página a partir do código-behind?

Foi útil?

Solução

Com ASP.Net 1.1, primeiro você tem que definir o atributo runat na marcação título:

<title id="PageTitle" runat="server">WebForm1</title>

Em seguida, a partir do código por trás:

C #

// We need this name space to use HtmlGenericControl
using System.Web.UI.HtmlControls;

namespace TestWebApp
{

      public class WebForm1 : System.Web.UI.Page
      {
            // Variable declaration and instantiation
            protected HtmlGenericControl PageTitle = new HtmlGenericControl();

            private void Page_Load(object sender, System.EventArgs e)
            {
                  // Set new page title
                  PageTitle.InnerText = "New Page Title";
            }
      }
}



VB

Imports System.Web.UI.HtmlControls

Namespace TestWebApp

    Public Class WebForm1
        Inherits System.Web.UI.Page

        Protected PageTitle As HtmlGenericControl = New HtmlGenericControl()

        Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

            PageTitle.InnerText = "New Page Title"
        End Sub

...

    End Class
End Namespace

Outras dicas

A resposta de Andreas Grech funciona muito bem quando executá-lo a partir do código por trás da página ASPX que tem o título de tag.

Mas e se o título de tag precisa ser atualizado a partir de um Web User Control correu da página ASPX? O acima resultaria em um erro (porque PageTitle não é visível para o Web User Control).

Assim, no caso de um Web User Control, fazer como manda a solução de Grech, mas fazer os seguintes ajustes:

1) Não declarar o controle PageTitle antes Page_Load. Em vez disso:

2) Declare-lo dentro Page_Load da seguinte forma:

Dim PageTitle como HtmlGenericControl = Page.FindControl ( "PageTitle")

E, em seguida, definir o valor.

No ponto aqui principal é que se você definir título em sua página mestre em

<head><title>Master Title</title></head>

O código para adicionar um título no lado código não vai work.Even tudo está correto

Page.Title="Page Title"

Este acima não é eficaz. Você tem que remover título de página mestra. Depois disso não há necessidade de code.Just extra de adicionar este código abaixo na Page_Load

Page.Title="Page Title"

E ele vai trabalhar

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top