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

本文关键字:之间 添加 BR 文本 控件 动态 创建 | 更新日期: 2023-09-27 17:59:04

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

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,但没有用。如何在Test和12345之间添加br?

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

您需要使用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");

虽然我现在无法自己测试,但我相信hazzik答案中的第一种方法会奏效,但我认为他的第二种方法不会。已知HtmlGenericControl不支持自闭元件,BR元件就是自闭元件。

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

HtmlGenericControl("br")渲染两次

服务器控制行为异常

添加<br/>控件之间动态切换asp.net