2009-08-30 9 views
0

コントロールを動的に作成し、コントロールのコレクションに追加すると、次のエラーが発生します。どうしたの?ページにコントロールを動的に追加するにはどうすればよいですか?あなたはページ上のフォームを持っていない動的に作成されたコントロールをASPに追加しようとすると、エラーが発生する

protected override void OnPreRender(EventArgs e) 
{ 
    base.OnPreRender(e); 
    double total = (double)ViewState[cKeyTotal]; 
    TextBox txt = new TextBox(); 
    txt.Text = "hello world"; 

    this.Controls.Add(txt); 
} 

答えて

0

Control 'ctl02' of type 'TextBox' must be placed inside a form tag with runat=server. 

は、私のような何かをやっています。そのコントロールは内部にある必要があります。

は、フォームを追加します:

<form runat='server' id='form1'> 
    ... 
</form> 

そして人生は良いことがあります。

+0

私は分かりません。私は標準のDefault.aspxのコードビハインドに取り組んでおり、上で書いたhtmlを持っています。紛失したものがあります – MedicineMan

+1

私はそれを手に入れました。問題は、this.Controls.Add()がコントロールをform1に追加しないということでした。上記のコードをform1.Controls.Add()に変更すると、すべてがうまくいきます。 – MedicineMan

関連する問題