在文本框中添加新行并从 c# 后面的代码添加标签

Add new line within textbox and label from code behind c#

这是我从代码

创建文本框和标签的代码
        int i = 0;
        Label lbl = new Label();
        lbl.Text = "Label - " + i.ToString();
        lbl.ID = "Label - " + i.ToString();

        TextBox txt = new TextBox();
        txt.Text = "txt - " + i.ToString();

        data.Controls.Add(lbl);
        data.Controls.Add(txt);

我可以在 data.Controls.Add(txt); 之后添加一个新行吗?

我尝试使用 Environment.NewLine 但它不起作用。 有人知道怎么做吗?

您是说两个控件之间的 space 吗。如果是这种情况,您可以设置下一个控件的位置,以便在该文本之后有一个空的 space。

在第 space 行的两个控件之间添加一个文字控件。 您可以通过编程方式做到这一点。

将 Literal Control 的 Mode 属性 设置为 PassThrough 例如:

Literal myLiteral = new Literal();
myLiteral.Id="lit_newline"
myLiteral.Mode = "PassThrough";
data.Controls.Add(myLiteral);

然后在文本框和标签控件之间添加此控件

你也可以这样做

data.Controls.Add(new LiteralControl("<br />")); 

并且如果需要,您可以将 css 应用到您的文本框,而无需添加会增加高度的文字控件 - 正如用户的回答:bgs264

data.Controls.Add(new LiteralControl("<br/>"));

为新行添加这个

如果纯粹是为了演示,你应该使用 CSS。

.CssClass = "TextboxSpace"添加到文本框
将 css 文件添加到项目(或将新样式添加到现有样式)类似于

.TextboxSpace {
 margin-bottom: 20px;
}