Pregunta

Con ASP.Net 2.0 puede usar la propiedad Title para cambiar el título de la página:

Page.Title = "New Title";

Pero como en ASP.Net 1.1 no hay una propiedad Title en la clase Page , ¿cómo puedo cambiar el título de la página desde el código subyacente?

¿Fue útil?

Solución

Con ASP.Net 1.1, primero debe establecer el atributo runat en la etiqueta de título:

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

Luego del código detrá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

Otros consejos

La respuesta de Andreas Grech funciona muy bien cuando se ejecuta desde el código que está detrás de la página ASPX que tiene la etiqueta TITLE.

¿Pero qué sucede si la etiqueta TITLE debe actualizarse desde un Control de usuario web ejecutado desde la página ASPX? Lo anterior daría como resultado un error (porque el Título de página no es visible para el Control de usuario web).

Entonces, en el caso de un control de usuario web, siga las instrucciones de Grech, pero realice los siguientes ajustes:

1) No declare el control de PageTitle antes de Page_Load. En su lugar:

2) Declararlo dentro de la carga de la página de la siguiente manera:

Atenuar el título de la página como HtmlGenericControl = Page.FindControl (" Título de la página ")

Y luego establece el valor.

El punto principal aquí es que si configura el título en su página maestra en

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

Tu código para agregar título en el lado del código no funcionará. Incluso todo es correcto

Page.Title="Page Title"

Este de arriba no es efectivo. Tienes que quitar el título de la página maestra. Después de eso, no es necesario un código adicional. Solo agregue este código a continuación en Page_Load

<*>

Y funcionará

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top