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プロパティにアクセスし、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 = "テストタイトル";
}
}
}
}
}