Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net的多行文本框中保留enter和Tab_Asp.net - Fatal编程技术网

如何在asp.net的多行文本框中保留enter和Tab

如何在asp.net的多行文本框中保留enter和Tab,asp.net,Asp.net,我的asp.net页面中有多行文本框。当用户输入一些数据时,我将数据存储在数据库表中。现在,当我将数据显示回页面时,用户在输入数据时按下的ENTER键将丢失,所有数据都显示在同一行中。因此,我想保存输入数据时按下的回车键,并以输入数据的形式显示数据。plz helpHTML:换行符确实存储在数据库中,但在页面上呈现为空格字符 渲染时,可以使用元素替换换行符: yourLabel.Text = Server.HtmlEncode(yourData).Replace("\n", "<br /&

我的asp.net页面中有多行文本框。当用户输入一些数据时,我将数据存储在数据库表中。现在,当我将数据显示回页面时,用户在输入数据时按下的ENTER键将丢失,所有数据都显示在同一行中。因此,我想保存输入数据时按下的回车键,并以输入数据的形式显示数据。plz help

HTML:换行符确实存储在数据库中,但在页面上呈现为空格字符

渲染时,可以使用元素替换换行符:

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("   ", "&nbsp;&nbsp;&nbsp;&nbsp;") 'Replace tab character with &nbsp;
objLabel.Text = strReformattedText

这对我来说是有效的,当我从互联网上的众多答案中发送html电子邮件时,这对我来说绝对是有效的。谢谢你,伙计。