好的,我在SQL Server的nvarchar(1000)类型的[txt]列中存储多行文本框的值。
本案例中的多行文字是:
亲爱的先生,
欢迎来到我们的平台。
最好,我们
将结果保存到MSSQL后,运行查询以选择值。 当我直接从SQL Server Management Studio中的查询结果复制列[txt]的值并将其粘贴到Notepad ++中时,我再次看到原始文本。 此外,从数据库再次加载文本并将其分配给多行文本框工作正常。
但是,在我的代码后面我将数据库列[txt]的值分配给字符串变量(因此不是从Textbox到变量):
Dim mailContent as String = row.txt
然后在电子邮件中发送此值,电子邮件收件人会看到没有换行符的文本,所以:
亲爱的先生,欢迎来到我们的平台。最好,我们
我在下面尝试了所有不同的场景:
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/>")
最好我不想改变我在MSSQL中存储或检索数据的方式(如here),那么如何将[txt]的当前值转换为HTML格式和得到换行符?
答案 0 :(得分:2)
好像文字可能只在您的内容中有\n
。尝试将\n
替换为</br>
。试试这个,
mailContent = mailContent.Replace(vbLF, "<br/>").Replace(vbCrlf, "<br/>")
答案 1 :(得分:0)
替换SQL select query中的换行符
REPLACE(Account.AcAddress,CHAR(10),'<br/>')