Вопрос

С ASP.Net 2.0 вы можете использовать Title свойство для изменения заголовка страницы :

Page.Title = "New Title";

Но поскольку в ASP.Net 1.1 нет Title собственность в Page класс, как я могу изменить заголовок страницы из исходного кода?

Это было полезно?

Решение

Используя ASP.Net 1.1, сначала вы должны установить runat атрибут в разметке заголовка :

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

Затем из кода, стоящего за :

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

Другие советы

Ответ Андреаса Греча очень хорошо работает, когда он запускается из кода на странице ASPX с тегом TITLE.

Но что, если тег TITLE необходимо обновить из Пользовательского веб-элемента управления , запущенного со страницы ASPX? Приведенное выше может привести к ошибке (поскольку PageTitle не виден веб-элементу управления).

Таким образом, в случае веб-элемента управления, делайте так, как диктует решение Греха, но вносите следующие изменения:

1) Не объявляйте элемент управления PageTitle до Page_Load. Вместо этого:

2) Объявите его внутри Page_Load следующим образом:

Уменьшить значение PageTitle как HtmlGenericControl = Page.FindControl (" PageTitle ")

А затем установите значение.

Здесь главное - если вы установите заголовок на главной странице в

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

Ваш код для добавления заголовка на стороне кода не будет работать. Даже все правильно

Page.Title="Page Title"

Это выше не эффективно. Вы должны удалить заголовок с главной страницы. После этого нет необходимости в дополнительном коде. Просто добавьте этот код ниже в Page_Load

<*>

И это будет работать

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top