2016-08-08 3 views
1

私はこのページを非常に簡単に管理する必要があるので、プログラムで生成されるほとんどのものが必要です。 .aspxファイルに触れることなく、通常のラベルの隣にチェックボックスを作成する必要があります。今私はlabelsと呼ばれる私のページのすべてのラベルのリストを生成します。私のサイトの各ラベルはIDがlbl_で始まっていますが、チェックボックスが付いているラベルはlblx_で始まります。各ラベルの隣にチェックボックスを作成

foreach (Label label in labels) 
{ 
    if (label.ID.Contains("lblx_")) 
    { 
     CheckBox cb = new CheckBox(); 
     cb.ID = "cb_statistikname_" + label.ID; 

     label.Controls.AddAt(0, cb); 
    } 
} 

今、このコードは、あなたのLabelコントロールのテキストプロパティを設定した場合、私はlabel.Control.Add(cb)

答えて

1

あなたはpage.Page.Controls.IndexOf()

if(label.Parent != null && label.Parent.Controls.IndexOf(label) >= 0) 
    label.Parent.Controls.AddAt(label.Parent.Controls.IndexOf(label) + 1, cb); 

ノートの組み合わせでPage.Controls.AddAt()を使用することができます。これは、ページPREINITイベントで行うべきです。

+0

いいえ、良いアイデアのように聞こえます。私はこれを試してみるつもりです。 – lenny

0

を使用する場合、同じ問題が発生したラベルを、置き換え、:私は、チェックボックスを言っ作成するには、このようなものを使用したいです基本的にすべての子コントロールが消去されます。この回答を参照してください:asp:label doesn't render children

関連する問題