ちょっと先の未来クイズ第4問

ASP.NET(C#) 初心者です。 ずばりRenderControl()がなにをするものか分かりません。 簡単なサンプルで教えてください。

A 回答 (2件)

ASP.NET ページのライフ サイクルの概要


http://msdn.microsoft.com/ja-jp/library/ms178472 …

HTMLをResponseに出力することをRenderといいます。
ページのRenderが発生したときに、コントロールのRenderControlメソッドが呼ばれます。
RenderControlは自動的に呼ばれるもので、ページ(aspx)開発者が使う機会はまずありません。

RenderControlは、カスタムコントロールを作成するときにoverrideして実装するものです。

// 超軽量ラベル
public class MyLabel : Control
{
 public string Text
 {
  get { return ViewState["text"] as string ?? ""; }
  set { ViewState["text"] = value; }
 }

 public override void RenderControl(HtmlTextWriter writer)
 {
  writer.Write("<span>" + Text + "</span>");
 }
}
    • good
    • 0
この回答へのお礼

サンプルコードとライフサイクルの概要とても役にたちました。ありがとうございます。

お礼日時:2011/08/06 04:07

ASP.NETのWebフォームではaspxページにコントロールを貼りつけていきますよね。


このコントロールに対してHTMLを生成しなさい、と命令するのがRenderControlになります。
コントロールはそのタイミングで自分のプロパティをみて、適切なHTMLを生成します。

基本的にはフレームワークが呼び出すメソッドなので、直接プログラマがこのメソッドを使うことはないと考えてよいと思います。
    • good
    • 0
この回答へのお礼

RenderControlは、コントロールにHTMLを生成しなさいというものなのですね。回答2の方もそういっていますが、プログラマが直接使うことはなさそうなので、初心者の私はあまり深入りしないほうがよさそうです。 ありがとうございました。

お礼日時:2011/08/06 04:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報