Como mudar o título da página em ASP.Net 1.1?
-
05-07-2019 - |
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?
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