[C#] 動的にページのタイトルを設定 (プログラムコードから<title>タグを追加)

このページのタグ:[C#] [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 = "テストタイトル"; 
        }
      }

    }
  }
}
登録日 :2014-02-19    最終更新日 :2014-04-02
このページのタグ:[C#] [ASP.NET]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)