2011-10-24 9 views
1

を発見していないプログラムで追加しましたrunat = serverで?チェックボックスでこのプロパティが見つかりません。チェックボックスは、私はそのようにチェックボックスを追加

+0

どの機能からコントロールを追加していますか? –

+0

in Page_Load私はそれを追加します – netmajor

+0

いつこのチェックボックスを取得しようとしますか?ポストバック後?どの関数/イベントハンドラですか? –

答えて

3

を使用

あなたのコントロールを見つけるのより良い方法を使用することができますそれを再作成する必要があります。このチェックボックスをif(!PostBack)節から作成してください(ポストバック後も再作成されます)。

protected void Page_Load(object sender, EventArgs e) 
{ 
    CheckBox FieldCh = new CheckBox(); 
    FieldCh.ID = "Field_" + Field.Id; 
    Panel1.Controls.Add(FieldCh); 
    if (!IsPostBack) 
    { 
     // ....   
    } 
} 
+0

これは正解です。 HTTPはステートレスなので、すべてのポストバックでコントロールを再作成したり、ViewStateに格納しない限り、存在しないため、最初のPage_Loadの後にコントロールにアクセスすることはできません。 –

1

コントロールを動的に追加する場合でも、Page_Loadを使用する必要があります。

protected void page_load() 
{ 
CheckBox FieldCh = new CheckBox(); 
FieldCh.ID = "Field_" + Field.Id; 
Panel1.Controls.Add(FieldCh); 
} 
0

あなたは単にあなたが(私が想定したもの)ポストバック後には、このチェックボックスを見つけたい場合は、単にあなたが、この

CheckBox chkBox = this.form1.FindControl("YourControlId") as CheckBox; 
関連する問題