Как изменить заголовок страницы в ASP.Net 1.1?

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

Page.Title = "New Title";

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


person Andreas Grech    schedule 30.07.2009    source источник


Ответы (3)


В ASP.Net 1.1 сначала необходимо установить атрибут runat в разметке заголовка:

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

Затем из кода позади:

С#

// 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";
            }
      }
}



ВБ

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
person Andreas Grech    schedule 30.07.2009

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

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

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

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

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

Dim PageTitle как HtmlGenericControl = Page.FindControl("PageTitle")

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

person Julio    schedule 23.11.2013

Здесь главное заключается в том, что если вы установите заголовок на своей главной странице в

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

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

Page.Title="Page Title"

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

Page.Title="Page Title"

И это сработает

person RASKOLNIKOV    schedule 20.02.2014