Web ページの先頭領域では通常のコントロールは使用できませんが、タイトル、キーワード、説明など、ページごとに異なる場合がある非常に重要なコントロールを、ページごとに動的に設定するにはどうすればよいでしょうか。コンテンツ?
方法 1: asp でできること、もちろん asp.net でもできます。Response.Write() を使用してページ全体を書き込む限り、カスタマイズできないことはありません。もちろん、「<%=a」も可能です。特定のメンバー%" >"。しかし、これでは明らかに .net の特性を活かすことができません。
方法 2: asp.net の一意の属性 runat="server" を使用し、タイトルの ID を設定し、それをサーバー変数にすると、そのテキストを設定できます。しかし、こうして出てくるhtmlにはIDも含まれていて、見ていてとても不快です。
方法 3: リテラル コントロールを使用する、フロント デスク:
さらに、私のページでは多くのユーザー コントロールが使用されており、これらのユーザー コントロールにはレベルがあり、ページのタイトルはユーザー コントロール内のサブユーザー コントロールによって決定される場合があり、ユーザー コントロールのネスト レベルは固定されていません。 では、動的に設定するにはどうすればよいでしょうか?
ホーム ページで、ユーザー コントロールの基本クラスを作成し、それにパブリック メソッドを追加します。
public void SetTitle(string title)
{
SetLiteralText("lt_title", string.Format("
;
{
lt = ctrl.FindControl(id) リテラルとして;
if(lt != null)
lt.Text = テキスト;
}
}
このように、ユーザー コントロールはこの基本クラスを継承し、ページのタイトルを設定するときに Base.SetTitle("title") を呼び出すだけで済み、タスクは簡単に完了します。 head領域のその他のタグについても、タイトルの設定と原理は同じです。