動的にページのタイトルを設定 (プログラムコードから<title>タグを追加) - ASP.NET

ASP.NETでプログラムコードから動的にページタイトルを変更するコードを紹介します。

概要

ASP.NETでページタイトルを変更する場合はPage (System.Web.UI.Page)のTitleプロパティにページタイトルを設定します。

コード

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace DynamicHeader
{
  public partial class dynamic_title : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      Page.Title = "テストタイトル";
    }
  }
}

解説

PageオブジェクトのTitleに文字列を代入することでページのタイトルを設定できます。マスターページを使用している場合も同様のコードでタイトルを設定できます。

実行結果

上記のプロジェクトを実行しWebフォームを表示ます。コードで設定した文字列がタイトルに反映されていることが確認できます。

参考:Page.Headerプロパティから検索する方法

Page.Headerプロパティにアクセスし、HtmlTitleを探して値を更新する方法です。実行時のaspxファイルのHead内にTitleタグがない場合は動作しないため、ややトリッキーな方法です。

コード例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace DynamicHeader
{
  public partial class dynamic_title : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      for (int i =0; i<Page.Header.Controls.Count; i++){
        Control control = Page.Header.Controls[i];
        if (control is HtmlTitle) {
          ((HtmlTitle)control).Text = "テストタイトル"; 
        }
      }

    }
  }
}
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2021-08-24
作成日: 2014-02-19
iPentec all rights reserverd.