我正在尝试动态地将控件(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”选项?
由于
答案 0 :(得分:8)
如果将“divControl”的类型更改为HtmlGenericControl,则应该能够设置InnerHtml属性:
HtmlGenericControl divControl = new HtmlGenericControl("div");
答案 1 :(得分:3)
您可以在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 :(得分:2)
HtmlGenericControl divControl = new HtmlGenericControl("div");
divControl.Attributes.Add("id", "myDiv");
divControl.InnerText = "foo";
this.Controls.Add(divControl);
答案 3 :(得分: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。
答案 4 :(得分:0)
我更喜欢这种添加通用html控件的方式(使用Literal):
Controls.Add(new Literal { Text = string.Format(@"<div id='{0}'><span>some text</span></div>", lb.Items[i].Value) });