1

チェックボックスを動的にWebページに追加しようとしています

            string[] words = masg.Split('~');
            int size = words.Length;
            CheckBox[] cbl = new CheckBox[size];
            for (int i = 0; i < words.Length; i++)
            {
                cbl[i] = new CheckBox();
                cbl[i].Text = words[i].ToString();
                this.Controls.Add(cbl[i]);  
               // Response.Write("\n" + words[i]);
            }

エラーが発生します

タイプ「CheckBox」のコントロール「ctl01」は、runat=serverのフォームタグ内に配置する必要があります。

どうすればいいですか?aspxページにどのような変更を加えますか?助けてください。

4

2 に答える 2

3

はページを参照しているため、フォームに追加するように変更する必要がありthisます。また、プログラムで作成するサーバーコントロール、またはページに追加するサーバーコントロールはrunat="server"、フォームタグ内に配置する必要があります。

お気に入り

this.Form.Controls.Add(cbl[i]);

または、フォームにプレースホルダーまたはパネルを配置します。そしてあなたがそれに追加できるよりも

お気に入り

placeholder1.Controls.Add(cbl[i]); 

.aspxにフォームタグが含まれていない場合は、そこにフォームタグを配置する必要があります

お気に入り

<form runat="server" id="form1">

 //Other mark up or server controls.

</form>
于 2012-10-30T07:46:38.117 に答える
2

こんにちは、フォームにPanelのような親コントロールを追加してから、そのパネルにチェックボックスコントロールを追加する必要があります

string[] words = masg.Split('~');
        int size = words.Length;
        CheckBox[] cbl = new CheckBox[size];
        for (int i = 0; i < words.Length; i++)
        {
            cbl[i] = new CheckBox();
            cbl[i].Text = words[i].ToString();
            pnlControls.Controls.Add(cbl[i]); 
           // Response.Write("\n" + words[i]);
        }

aspxページにpanleコントロールを追加します。

<asp:Panel ID="pnlControls" runat="server" >
于 2012-10-30T07:51:37.757 に答える