如何在asp.net的多行文本框中保留enter和Tab
我的asp.net页面中有多行文本框。当用户输入一些数据时,我将数据存储在数据库表中。现在,当我将数据显示回页面时,用户在输入数据时按下的ENTER键将丢失,所有数据都显示在同一行中。因此,我想保存输入数据时按下的回车键,并以输入数据的形式显示数据。plz helpHTML:换行符确实存储在数据库中,但在页面上呈现为空格字符 渲染时,可以使用元素替换换行符:如何在asp.net的多行文本框中保留enter和Tab,asp.net,Asp.net,我的asp.net页面中有多行文本框。当用户输入一些数据时,我将数据存储在数据库表中。现在,当我将数据显示回页面时,用户在输入数据时按下的ENTER键将丢失,所有数据都显示在同一行中。因此,我想保存输入数据时按下的回车键,并以输入数据的形式显示数据。plz helpHTML:换行符确实存储在数据库中,但在页面上呈现为空格字符 渲染时,可以使用元素替换换行符: yourLabel.Text = Server.HtmlEncode(yourData).Replace("\n", "<br /&
yourLabel.Text = Server.HtmlEncode(yourData).Replace("\n", "<br />");
但是,除了在多行只读文本框控件中呈现数据外,没有简单的解决方案可以恢复制表字符。在显示数据时,将输入字符char13替换为html换行符
lblDisplay.Text = GetTextFromDb().Replace(char(13),"<br/>");
通常,当用户在多行文本框或文本区域中按tab键时,焦点将跳转到下一个html页面元素,因此用户将无法在其输入中添加选项卡。但是,例如,如果用户从Word复制并粘贴文本,则该选项卡将保留并保存到SQL数据库中。如果是这种情况,您只需打开一个空白Word文档,输入一个选项卡,突出显示该选项卡,然后将其复制并粘贴到替换语句中,将其替换为一个css span,左边距设置为20px。然后,当您以读取模式显示条目时,它应该正确呈现。以下代码将替换呈现条目中的制表符和换行符
objLabel = FindControl(strQuestionId)
strReformattedText = reader("Answer").Replace(System.Environment.NewLine, "<br />")
strReformattedText = strReformattedText.Replace(" ", " ") 'Replace tab character with
objLabel.Text = strReformattedText
这对我来说是有效的,当我从互联网上的众多答案中发送html电子邮件时,这对我来说绝对是有效的。谢谢你,伙计。