Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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
将MS SQL Server中存储的多行文本框值中的换行符转换为HTML_Html_Asp.net_Sql Server_Vb.net_Line Breaks - Fatal编程技术网

将MS SQL Server中存储的多行文本框值中的换行符转换为HTML

将MS SQL Server中存储的多行文本框值中的换行符转换为HTML,html,asp.net,sql-server,vb.net,line-breaks,Html,Asp.net,Sql Server,Vb.net,Line Breaks,好的,我将SQL Server中多行文本框的值存储在nvarchar(1000)类型的[txt]列中 本例中的多行文字为: 亲爱的先生: 欢迎来到我们的平台 最好的,我们 将结果保存到MSSQL后,我运行一个查询来选择值。 当我直接从SQLServerManagementStudio中的查询结果复制[txt]列的值并将其粘贴到Notepad++中时,我再次看到原始文本。 此外,再次从数据库加载文本并将其分配给多行文本框也可以正常工作 但是,在我的代码隐藏中,我将数据库列[txt]的值分配给字符串

好的,我将SQL Server中多行文本框的值存储在nvarchar(1000)类型的[txt]列中

本例中的多行文字为:

亲爱的先生:

欢迎来到我们的平台

最好的,我们

将结果保存到MSSQL后,我运行一个查询来选择值。 当我直接从SQLServerManagementStudio中的查询结果复制[txt]列的值并将其粘贴到Notepad++中时,我再次看到原始文本。 此外,再次从数据库加载文本并将其分配给多行文本框也可以正常工作

但是,在我的代码隐藏中,我将数据库列[txt]的值分配给字符串变量(因此不是从Textbox分配给变量):

然后在电子邮件中发送此值,电子邮件收件人看到的文本没有换行符,因此:

亲爱的先生,欢迎来到我们的平台。最好的,我们

我尝试了下面所有不同的场景:

Dim registryTA As New registryTableAdapters.registryTableAdapter
Dim registryDT As registry.registryDataTable = registryTA.GetDataByUserid(_userid)
Dim mailcontent As String

mailcontent = registryDT(0).invitetext.Replace(vbLf, "<br/>").Replace(vbCrLf, "<br/>")

mailContent = mailContent.Replace(Environment.NewLine, "<br/>")
mailContent = mailContent.Replace("\r\n", "<br/>")
mailContent = Server.HTMLEncode(mailContent)
mailContent = Server.HTMLDecode(mailContent)
mailContent = mailContent.Replace(vbCrlf, "<br/>")
Dim registryTA作为新的registryTableAdapters.registryTableAdapter
Dim registryDT As registry.registryDataTable=registryTA.getdatabyserid(_userid)
将邮件内容设置为字符串
mailcontent=registryDT(0).invitetext.Replace(vbLf,“
”).Replace(vbCrLf,“
”) mailContent=mailContent.Replace(Environment.NewLine,
) mailContent=mailContent.Replace(“\r\n”和“
”) mailContent=Server.HTMLEncode(mailContent) mailContent=Server.HTMLDecode(mailContent) mailContent=mailContent.Replace(vbCrlf,“
”)

最好我不想改变在MSSQL中存储或从MSSQL中检索数据的方式(如),那么如何将[txt]的当前值转换为HTML格式并获取换行符?

似乎文本内容中可能只有
\n
。尝试用

替换
\n
。试试这个

mailContent = mailContent.Replace(vbLF, "<br/>").Replace(vbCrlf, "<br/>")
mailContent=mailContent.Replace(vbLF,
)Replace(vbCrlf,

替换SQL select查询中的换行符

 REPLACE(Account.AcAddress,CHAR(10),'<br/>')
REPLACE(Account.AcAddress,CHAR(10),“
”)
请展示如何检索
如何初始化
邮件内容
@CodeCaster我添加了一些额外的代码来演示这一点。希望有帮助!
 REPLACE(Account.AcAddress,CHAR(10),'<br/>')