短い答え:(それはあなたのニーズに依存します)。説明します。
- 実行時にタイトルを変更する必要があるかどうかによって異なります。
長い答え:
これが私の観察です(小さなテストで):
に設定title
しましたPage directive
:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Exampales_test" Title="ppppppppp" %>
私も次のように設定しましたhtml
:
<head runat="server" ID="hhh">
...
<title runat="server">fffffffff</title>
</head>
私はこのテストコードを持っています:
protected override void OnPreInit(EventArgs e)
{
// <----- breakpoint here (A)
base.OnPreInit(e);
// <----- breakpoint here (B)
}
protected void Page_Load(object sender, EventArgs e)
{ // <----- breakpoint here (C)
this.Title = "cccccccc";
}
ビジュアル:
それでは見てみましょう:
押すとRun
:
ページには html タイトル値 ( ffffff
)があります
の最後にもPreInit
すでにOnInit
変更されている番組を調査する({どの段階で正確に知りたい場合-これを行うことができる}という方法で) ppppppppp
そしてもちろん、最後のイベント (これまでに説明したことの中で) はpage_load
: であり、値を変更します:
値は次のとおりです。
では、どちらを選択しますか?
コードがTitle
動的に変更されている場合 (実行時に意味します)、html マークアップも page ディレクティブも使用しないでください。
たとえば、コードに (たとえば) ASCX があり、ACSX が title を変更する必要がある場合は、コードを使用します (ディレクティブや html マークアップではありません)。
すでに気づいたように、勝つ値は最後に発生したものです(タイムライン)
これは html マークアップ値で始まりますが、サーバー側のコードがアクティブになり始め、値が変更されます。