2011-12-30 9 views
0

checkboxlistなどのコントロールを動的に作成する場合。この動的に作成されるコントロールのAjax更新パネルのControlID属性を指定する方法

CheckBoxList CbxList = new CheckBoxList(); 

CbxList.ID = "Cbx"; 
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
{ 
    CbxList.Items.Add(new ListItem(ds.Tables[0].Rows[i]["Name"] 
     .ToString(), ds.Tables[0].Rows[i]["ID"].ToString())); 
} 
ph.Controls.Add(CbxList); 

よう 私はControlID属性を指定する必要がありますどのようにAjaxの更新パネルを更新していた場合に作成CheckBoxListの(CBX)のselectedIndexChangeイベントであれば。私は試してみました私の場合はCbxですが、コントロールがないと言いますが、そのコントロールはまだ作成されていません。だからこの問題を処理する方法

+0

あなたは本当に自分自身と、それは標準的な名前の慣習に従い、 'Add()'を別々のステップに分割します。 – asawyer

答えて

0

私はコントロールIDを必要と考えることができる唯一のものは、トリガーのコレクションです。その場合、チェックボックスリストをupdatepanelに入れて、パネル自体にupdatemode = "always"を使用するのはなぜですか?

+0

あなたが与えた素晴らしいアイデア。私はそれを試してみましょうが、物事は、ページの構造は、私は更新パネル内の全体のページを配置する必要が非常に複雑です。その理由で私はフォーラムで尋ねました は動的に変更されます – Shah

+0

IDを変更できる場合があります。私はUpdatePanelが状態を介して保持しているかどうか分からないので、ポストバックごとにUpdatePanelを変更する必要があります。そして、それはサーバーからのみ変更することができます... –

0

あなたの質問が分かっていれば、各チェックボックスにIDが必要ですか? その場合は、CheckBoxListを使用せず、代わりにプレースホルダを使用し、CheckBoxコントロールを追加してください。 しかし、私はあなたがそれを行う方法だと思う、 'Cbx_0'、 'C​​bx_1'などのIDを取得する必要があります...

関連する問題