多行文本框多个换行符
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;
这将呈现为<textarea>
【讨论】:
我将它设置为多行。但是,我不能以编程方式为文本框设置多行空间。以上是关于多行文本框多个换行符的主要内容,如果未能解决你的问题,请参考以下文章