多行文本框多个换行符

Posted

技术标签:

【中文标题】多行文本框多个换行符【英文标题】:Multiline TextBox multiple newline 【发布时间】:2011-08-20 01:45:14 【问题描述】:

我像这样为Multiline Textbox 设置了一个值。

textBox1.Text = "Line1\r\n\r\nLine2";

但是,输出中只有一个行距。

当我读取文本框的值时,我读取了"Line1\r\nLine2"

为什么 ASP.NET 不支持多于一个的换行符?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。如果我添加一个 Environment.Newline 我会在文本框中得到一个新行。但是如果我添加两个 Environment.Newline 我会得到一个新行。 在我的网络应用程序中,我使用了一个空格模块来删除所有不必要的空格。如果我禁用此模块,我的文本框中会出现两行新行。希望对您有所帮助。

【讨论】:

【参考方案2】:

当页面 IsPostback 时,以下代码正常工作。但是当页面第一次加载时,文本区域中没有多个换行符。错误

textBox1.Text = "Line1\r\n\r\n\r\nLine2";

【讨论】:

【参考方案3】:
textBox1.Text = "Line1" + Environment.NewLine + "Line2";

标记还需要包含 TextMode="MultiLine" (否则它将文本显示为一行)

<asp:TextBox ID="multitxt" runat="server" TextMode="MultiLine" ></asp:TextBox>

【讨论】:

您使用的是哪个浏览器,我在 IE7 中检查过,FF 运行良好。我希望你已经正确输入了上面的内容! 我用 IE 8 和谷歌浏览器检查了这个。结果相同。 没有更新面板。但是,当我将文本框放在 updatePanel 中并在单击提交按钮时设置文本框的值时,文本框设置正确。您可以在您的开发环境中尝试此操作。奇怪的情况,可能是一个错误。 其实页面回发的时候是没有问题的。【参考方案4】:

textBox1.Text = "Line1\r\r\Line2"; 解决了这个问题。

【讨论】:

【参考方案5】:

试试这个

textBox1.Text = "Line1" + Environment.NewLine + "Line2";

对我来说工作得很好......

【讨论】:

你可以使用多个Environment.NewLine IE 只呈现一个新行。试试看。 我正在使用txtMultiline.Text = "Line1" + Environment.NewLine + "Line2" + Environment.NewLine + "Line3";,它在所有浏览器中都能正常工作 只有一个 Environment.NewLine 可以,但多个 Environment.NewLine 不起作用。例如; txtMultiline.Text = "Line1" + Environment.NewLine + Environment.NewLine + Environment.NewLine + "Line2"; 我正在使用txtMultiline.Text = "Line1" + Environment.NewLine + Environment.NewLine + Environment.NewLine + Environment.NewLine + "Line2" + Environment.NewLine + "Line3"; 并且工作正常【参考方案6】:

在拖动 TextBox 的同时按 F4 选择 Properties 并在 Textmode 下设置为 Multiline,multiline 对文本框的表示是它可以在 6 边上调整大小。并且不需要包含任何 newline 字符来获取多行。可能是您将其设置为多行,但您在设计时增加了文本框的大小。

【讨论】:

textBox1.Text = "Line1\r\n\r\nLine2";只出现了一个行间距。 做,你在设计时增加了文本框的大小。 不,完全有机会@user741356,我确信如果您在 Line1 和 Line2 之间给出“\r\r”,则文本将按照该代码的指示改变它们之间的间隙。跨度> 对不起,我给错了,那是 "\r\n" 好的。它将保持差距,因为两者都增加了文本之间的出现次数。【参考方案7】:

您需要将文本框设置为多行,这可以通过两种方式完成:

在控件中:

<asp:TextBox runat="server" ID="MyBox" TextMode="MultiLine" Rows="10" />

代码隐藏:

MyBox.TextMode = TextBoxMode.MultiLine;
MyBox.Rows = 10;

这将呈现为&lt;textarea&gt;

【讨论】:

我将它设置为多行。但是,我不能以编程方式为文本框设置多行空间。

以上是关于多行文本框多个换行符的主要内容,如果未能解决你的问题,请参考以下文章

c#文本框如何换行

两个多行文本框的乘积并将其显示到另一个多行文本框

闪亮的多行文本输入

用Vue实现高度自增的文本框

VB如何把文件内容显示在文本框中?

VB禁止文本框输入