Как установить innerhtml на общий элемент управления (div) в коде C # позади? - PullRequest
3 голосов
/ 10 марта 2011

Я пытаюсь динамически добавить элемент управления (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 как атрибут не существует, и не отображаются опции 'value' или 'text'?

Спасибо

Ответы [ 5 ]

8 голосов
/ 10 марта 2011

Если вы измените тип divControl на HtmlGenericControl, вы сможете установить свойство InnerHtml:

HtmlGenericControl divControl = new HtmlGenericControl("div"); 
3 голосов
/ 10 марта 2011

Вы сделаете это, вставив LiteralControl в HtmlControl:

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 голосов
/ 10 марта 2011
    HtmlGenericControl divControl = new  HtmlGenericControl("div");
    divControl.Attributes.Add("id", "myDiv");
    divControl.InnerText = "foo";
    this.Controls.Add(divControl);
0 голосов
/ 10 марта 2011

Я предпочитаю этот способ добавления общих элементов управления html (используя Literal):

Controls.Add(new Literal { Text = string.Format(@"<div id='{0}'><span>some text</span></div>", lb.Items[i].Value) });
0 голосов
/ 10 марта 2011

Если вы просто добавляете текст, это должно быть сделано:

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 в литерал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...