1

使用 ASP.Net 2.0,您可以使用该Title属性来更改页面标题:

Page.Title = "New Title";

但是由于在 ASP.Net 1.1 中没有类Title中的属性Page,我怎样才能从代码隐藏中更改页面的标题?

4

3 回答 3

4

使用 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
于 2009-07-30T12:33:05.053 回答
0

当从具有 TITLE 标签的 ASPX 页面后面的代码运行它时,Andreas Grech 的答案非常有效。

但是,如果 TITLE 标记需要从 ASPX 页面运行的Web 用户控件中更新怎么办?以上将导致错误(因为网页标题对 Web 用户控件不可见)。

因此,对于 Web 用户控件,请按照 Grech 的解决方案进行操作,但要进行以下调整:

1) 不要在 Page_Load 之前声明 PageTitle 控件。反而:

2)在Page_Load中声明如下:

将 PageTitle 调暗为 HtmlGenericControl = Page.FindControl("PageTitle")

然后设置值。

于 2013-11-23T16:39:03.220 回答
0

这里的要点是,如果您在母版页中设置标题

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

您在代码端添加标题的代码将不起作用。即使一切都是正确的

Page.Title="Page Title"

上面这个无效。您必须从母版页中删除标题。之后不需要额外的代码。只需在 Page_Load 中添加以下代码

Page.Title="Page Title"

它会起作用

于 2014-02-20T06:11:57.120 回答