TextBox和label换行问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TextBox和label换行问题相关的知识,希望对你有一定的参考价值。

我的页面中有一个textBox和label以及button
textBox我设置了TextMode为MultiLine,以及Wrap为True
那么我在这个textBox输入了一些文字,其中换了几次行,比如:
aaa
bbb
ccc
然后我按了button,将我输入的字符串提交到label显示出来
但显示的是aaa bbb ccc,跟我输入的不是一个模样
关于这个问题应该如何解决呢?麻烦各位指教指教~可以的话写详细一点

参考技术A label不支持多行显示,虽然可以折行,但仍然是一行。没办法解决。
还是用其他控件吧。把你这样做的目的说一下,也许有其他的办法可以实现相同的效果。
参考技术B label显示时经过浏览器时已经改变,或许你可以试试将文本框换成文本编辑器 参考技术C 我将textBox1设置为多行以后,让label显示,是完全一样的啊
label1.Text=textBox1.Text;本回答被提问者采纳

TextBox 或 Html 区域中的换行符

【中文标题】TextBox 或 Html 区域中的换行符【英文标题】:Line Break in TextBox or Html Area 【发布时间】:2010-09-22 17:58:58 【问题描述】:

在插入数据库(Asp.Net)时,在多行文本框或 HTML 文本区域中分隔换行符和空格的方法是什么。例如如果我想插入应该怎么做

你好

世界

到带有换行符的数据库?还有同时显示我应该做什么?我不想为此使用编辑器。


但问题是如何分隔换行符和空格。现在当我插入

你好

世界

或hello world,它以相同的字符保存在数据库中。因此,我无法将它们分开,尽管用户使用了上述换行符,但我正在展示你好世界。该值来自TextBox或html区域,与换行或空格相同。

【问题讨论】:

【参考方案1】:

换行符应该持续到数据库。当您检索信息并显示为 Html 时,只需将换行符(即 Environment.NewLine)替换为换行符标记(即 < b r / >

【讨论】:

别忘了先 Html.Encode(),如果是用户提交的内容,再做 Replace()。 你应该总是使用HtmlEncode(),不管内容是否是用户输入的。只需要一个不小心插入<' 就可以真正搞砸了。【参考方案2】:

< br /> 对我不起作用。 (同时将文本分配给 html textarea)

\r\n 做了。

【讨论】:

【参考方案3】:

使用 Razor (MVC3) 来显示或保留从我的数据库中提取的换行符,以下工作:

@Html.Raw(text_to_display.Replace(Environment.NewLine, "<br/>"))

【讨论】:

【参考方案4】:

几个选择: • 将换行符转换为&lt;br/&gt;。 • 将您的文字放在&lt;pre&gt; 块中。 • 将每一行放在自己的&lt;div&gt; 块中。

请记住,所有空格(SP、HT、LF、CR)在 HTML 中都会被忽略(大部分时间)。

您存储在数据库中的应该是纯字符文本。将其转换为适当的 HTML 以供显示需要用 HTML 序列替换某些字符。

【讨论】:

【参考方案5】:

你可以使用

【讨论】:

不,你不能。空格在 HTML 中(大部分)被忽略。他需要使用实际的格式化换行符,即&amp;lt;br/&amp;gt; 你是对的。我以为他是在问关于在 textarea 中添加换行符的问题。【参考方案6】:

当试图为 asp.net 页面上的 textarea 控件保留格式化的回车符/换行符时,从后面的代码中获取它的值时,您应该使用:

textarea.Value = Server.HtmlDecode(myValue.Replace("\r\n", "&#13;"));

这将从:

some blah blah\r\nblah blah

到:

some blah blah
blah blah

因此,当您使用 javascript 读取换行符时,您可以使用:

textarea.value.indexOf("\n");

【讨论】:

【参考方案7】:

我总是按提供的方式存储用户输入,但是当再次显示它时,您必须始终非常小心。换行符只是用“”替换 System.Environment.Newline 的一种情况。不确定在呈现为 html 时保留其他空白的最佳做法是什么,听听其他人的做法会很有趣。

【讨论】:

【参考方案8】:

在呈现为 HTML 后保留空白最容易通过将其转换为 HTML 实体 &amp;nbsp; 来完成。

【讨论】:

【参考方案9】:

您需要将所有的 vbcrlf (environment.newline) 实例替换为 html 标签 []

并且要允许多个空格,您需要将空格替换为 [& n b s p ;]

这会将您的普通测试转换为“足够”以被视为 html 的 html(适用于我网站的输入文本部分)

从我的标签中,它只是 [] 之间的文本并删除空格...将标签文本放入页面导致它显示为 html !!!!

【讨论】:

【参考方案10】:

上面唯一对我有用的建议是:&lt;&amp; # 1 0 ;&gt; 我正在使用现在在 Linux 服务器上运行的 Front Page 生成的文本框。

字符串的多次使用不会创建多个换行符,但是在新行上的字符串的单个条目提供了适合新段落的双换行符。

在使用 Windows 操作系统从服务器移动我的页面之前,我能够通过双“Enters”完成换行。

【讨论】:

以上是关于TextBox和label换行问题的主要内容,如果未能解决你的问题,请参考以下文章

VB中label控件的文字换行

关于Textbox换行问题

WPF,制作填空题

TextBox控件常用方法总结

在 RadioButtonList 中选择 CheckBox 时显示 TextBox 和 Label

TextBox 或 Html 区域中的换行符