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

Andreas Grechによる回答は、TITLEタグを持つASPXページの背後にあるコードから実行すると非常にうまく機能します。

しかし、ASPXページから実行されたWebユーザーコントロールからTITLEタグを更新する必要がある場合はどうなりますか?上記の場合、エラーが発生します(PageTitleが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 に答える