在动态创建的控件中的文本之间添加BR

时间:2015-06-23 12:14:15

标签: c# asp.net

我在asp.net中有一个动态创建的List,代码如下:

HtmlGenericControl li = new HtmlGenericControl("li");
li.ID = "liQuestions" + recordcount.ToString();
li.Attributes.Add("role", "Presentation");
ULRouting.Controls.Add(li);

HtmlGenericControl anchor = new HtmlGenericControl("a");
li.Attributes.Add("myCustomIDAtribute", recordcount.ToString());
anchor.InnerText = "Test " + new HtmlGenericControl("br") + "12345";
li.Controls.Add(anchor);

我试图输入一个HtmlGenericControl,但这并不起作用。如何在测试和12345之间添加br?

2 个答案:

答案 0 :(得分:3)

您需要使用InnerHtml属性

HtmlGenericControl li = new HtmlGenericControl("li");
li.ID = "liQuestions" + recordcount.ToString();
li.Attributes.Add("role", "Presentation");
ULRouting.Controls.Add(li);

HtmlGenericControl anchor = new HtmlGenericControl("a");
li.Attributes.Add("myCustomIDAtribute", recordcount.ToString());
anchor.InnerHtml = "Test <br/> 12345";
li.Controls.Add(anchor);

或者,像这样:

anchor.Controls.Add(new LiteralControl("Test")); //or new Literal("Test");
anchor.Controls.Add(new HtmlGenericControl("br"));
anchor.Controls.Add(new LiteralControl("12345")); //or new Literal("12345");

答案 1 :(得分:1)

虽然我现在无法自己测试,但我相信hazzik's answer中的第一种方法可行,但我认为他的第二种方法不会。众所周知,HtmlGenericControl不支持BR element所属的自闭元素。

以下SO问题有更多细节和另一种可能的解决方案:

HtmlGenericControl("br") rendering twice

Server control behaving oddly

Adding <br/> dynamically between controls asp.net