2010-12-10 65 views
2

我在我的asp.net页面多行文本框。当用户输入一些数据时,我将数据存储在数据库表中。现在,当我显示数据回页面ENTER输入而数据丢失,所有的数据都显示在同一行上按下了哪个用户。所以我想在输入数据时保存按下的输入数据并以输入的形式显示数据.plz帮助如何保存输入和选项卡中多行TextBox在asp.net

回答

5

HTML collapses whitespace:换行字符确实存储在数据库中,但是呈现为空格字符页。

渲染时,您可以替换<br />元素换行符:

yourLabel.Text = Server.HtmlEncode(yourData).Replace("\n", "<br />"); 

有没有简单的解决方案,以恢复制表字符,不过,除了在一个多只读TextBox控制使您的数据。当显示数据时

+0

这对我而言发送HTML电子邮件从c# – Ravimallya 2014-04-06 15:27:28

+0

在互联网上的众多答案中,这绝对有效。多谢,伙计。 – 2015-05-27 03:35:49

0

更换输入字符CHAR(13)与HTML断裂线< BR/>。

lblDisplay.Text = GetTextFromDb().Replace(char(13),"<br/>"); 
0

通常情况下,当用户按下一个多行文本框或textarea的tab键,焦点将跳转到下一个HTML页面元素,因此用户将不能够将标签添加到他们的输入。但是,如果用户复制和粘贴其从Word例如文本,标签将被保留,并保存到SQL数据库。如果是这样的话,你可以简单地打开一个空白Word文档,输入选项卡,选中该选项卡,然后将其复制并粘贴到一个REPLACE语句,用&nbsp或左缘的CSS跨度设定为20px取代它。当您在读取模式下显示条目时,它应该正确呈现。以下代码替换呈现条目中的制表符和换行符。

objLabel = FindControl(strQuestionId) 
strReformattedText = reader("Answer").Replace(System.Environment.NewLine, "<br />") 
strReformattedText = strReformattedText.Replace(" ", "&nbsp;&nbsp;&nbsp;&nbsp;") 'Replace tab character with &nbsp; 
objLabel.Text = strReformattedText 
相关问题