ASP.NETでPage.Titleを設定しても反映されないので暫く悩んでいた。原因は、自動生成されるASPXファイルの先頭に記述されているページディレクティブで空白が指定されているためだった。
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="CitySearchDetail.aspx.cs" Inherits="WeatherArchiveWeb.CitySearchDetail" %>
ASPXファイルの先頭に<%@で始まる一行があるが、これがページディレクティブによるパラメータの設定。ここでTitle=""と指定されているので、コード中でPage.Titleを変更しても常に上書きされてしまう。