2011-03-10 7 views
3

私は動的にWebページにコントロール(DIV)を追加しようとしています:innerhtmlをC#コードのジェネリックコントロール(div)にどのように設定しますか?

HtmlControl divControl = new html HtmlGenericControl("div"); 
divControl.Attributes.Add("id", lb.Items[i].Value); 
divControl.Attributes.Add("innerHtml", "bob"); 
divControl.Visible = true; 
this.Controls.Add(divControl); 

しかし、どのようにようinnerHTMLプロパティとして持っていないようだと、私はコントロール自体のテキスト(innerHTMLプロパティ)を設定しません属性が存在せず、 '値'または 'テキスト'オプションは表示されません。

おかげ

答えて

8

あなたは、あなたがinnerHTMLプロパティを設定することができるはずHtmlGenericControlに「divControl」の種類を変更する場合:あなただけのテキストを追加している場合は

HtmlGenericControl divControl = new HtmlGenericControl("div"); 
+0

IドンドロップダウンでInnerHtmlをオプションとして取得し、コンパイル時にエラーを表示します。なぜなら、これは私が答えと思っていたものだからです。 – flavour404

+0

divControlをHtmlControlとして宣言していますか?そのクラスにはInnerHtmlのオプションはありません。宣言を次のように変更します。HtmlGenericControl divControl = new HtmlGenericControl( "div"); –

0

を、これはそれを行う必要があります:

Literal l = new Literal(); 
l.Text = "bob"; 

HtmlControl divControl = new HtmlGenericControl("div"); 
divControl.Attributes.Add("id", "someId"); 
divControl.Visible = true; 
divControl.Controls.Add(l); 

this.Controls.Add(divControl); 

編集:リテラルにもHTMLを埋め込むことができます。

0

私は(リテラルを使用することにより)、一般的なHTMLコントロールを追加するこの方法を好む:

Controls.Add(new Literal { Text = string.Format(@"<div id='{0}'><span>some text</span></div>", lb.Items[i].Value) }); 
2

あなたはは、HTMLControl内LiteralControlを挿入してやる​​:

HtmlControl divControl = new html HtmlGenericControl("div"); 
divControl.Attributes.Add("id", lb.Items[i].Value); 
divControl.Visible = true; // Not really necessary 
this.Controls.Add(divControl); 

divControl.Controls.Add(new LiteralControl("<span>Put whatever <em>HTML</em> code here.</span>")); 
2
HtmlGenericControl divControl = new HtmlGenericControl("div"); 
    divControl.Attributes.Add("id", "myDiv"); 
    divControl.InnerText = "foo"; 
    this.Controls.Add(divControl); 
関連する問題