Frage

Mit ASP.Net 2.0 Sie die Title Eigenschaft verwenden, können Sie den Seitentitel zu ändern:

Page.Title = "New Title";

Da aber in ASP.Net 1.1 gibt keine Title Eigenschaft in der Page Klasse ist, wie kann ich die Titel der Seite ändern von der Code-behind?

War es hilfreich?

Lösung

Mit ASP.Net 1.1, müssen Sie zunächst das runat Attribut auf den Titel Markup festgelegt:

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

Dann aus dem Code hinter:

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

Andere Tipps

Die Antwort von Andreas Grech funktioniert sehr gut, wenn es aus dem Code hinter der ASPX-Seite ausgeführt wird, der den Titel-Tag hat.

Was aber, wenn der Titel-Tag von einem Web User Control aktualisiert werden muss, aus der ASPX-Seite lief? Die oben zu einem Fehler führen würde (weil nicht sichtbar Seitentitel auf den Web User Control sind).

So im Fall eines Web User Control, tut als Grech Lösung diktiert, aber die folgenden Einstellungen vornehmen:

1) nicht erklären, die Seitentitel Kontrolle vor Page_Load. Statt dessen:

2) Erklären Sie es in Page_Load wie folgt:

Dim Seitentitel wie Htmlgenericcontrol = Page.FindControl ( "Seitentitel")

Und setzen Sie den Wert.

hier Hauptsache ist, dass, wenn Sie Titel in der Masterseite gesetzt in

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

Ihr Code Titel in Code auf dieser Seite hinzufügen nicht work.Even alles korrekt

Page.Title="Page Title"

Dieses über nicht wirksam. Sie müssen Titel von Masterseite entfernen. Danach keine Notwendigkeit, zusätzliche code.Just fügen Sie diesen Code unten in Page_Load

Page.Title="Page Title"

Und es wird funktionieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top