将存储在 MS SQL 服务器中的多行文本框值的换行符转换为 HTML
Convert linebreaks from multiline textbox value stored in MS SQL Server to HTML
好的,我将多行文本框的值存储在 SQL 服务器的 [txt] 列中,类型为 nvarchar(1000)。
本例中的多行文字为:
Dear sir,
Welcome to our platform.
Best, Us
将结果保存到 MSSQL 后,我 运行 查询 select 值。
当我直接从 SQL Server Management Studio 中的查询结果中复制 [txt] 列的值并将其粘贴到 Notepad++ 中时,我又看到了原始文本。
此外,从数据库中再次加载文本并将其分配给多行文本框工作正常。
但是,当我在后面的代码中将数据库列 [txt] 的值分配给字符串变量时(因此不是从文本框到变量):
Dim mailContent as String = row.txt
然后在电子邮件中发送此值,电子邮件收件人看到的文本没有换行符,因此:
Dear sir, Welcome to our platform. Best, Us
我尝试了以下所有不同的场景:
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/>")
最好我不想改变我存储或检索数据的方式in/from MSSQL(如here),那么我如何转换当前值[txt] 到 HTML 格式并获取换行符?
您的文本中似乎只有 \n
。也尝试将 \n
替换为 </br>
。试试这个,
mailContent = mailContent.Replace(vbLF, "<br/>").Replace(vbCrlf, "<br/>")
替换 SQL select 查询中的换行符
REPLACE(Account.AcAddress,CHAR(10),'<br/>')
好的,我将多行文本框的值存储在 SQL 服务器的 [txt] 列中,类型为 nvarchar(1000)。
本例中的多行文字为:
Dear sir,
Welcome to our platform.
Best, Us
将结果保存到 MSSQL 后,我 运行 查询 select 值。 当我直接从 SQL Server Management Studio 中的查询结果中复制 [txt] 列的值并将其粘贴到 Notepad++ 中时,我又看到了原始文本。 此外,从数据库中再次加载文本并将其分配给多行文本框工作正常。
但是,当我在后面的代码中将数据库列 [txt] 的值分配给字符串变量时(因此不是从文本框到变量):
Dim mailContent as String = row.txt
然后在电子邮件中发送此值,电子邮件收件人看到的文本没有换行符,因此:
Dear sir, Welcome to our platform. Best, Us
我尝试了以下所有不同的场景:
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/>")
最好我不想改变我存储或检索数据的方式in/from MSSQL(如here),那么我如何转换当前值[txt] 到 HTML 格式并获取换行符?
您的文本中似乎只有 \n
。也尝试将 \n
替换为 </br>
。试试这个,
mailContent = mailContent.Replace(vbLF, "<br/>").Replace(vbCrlf, "<br/>")
替换 SQL select 查询中的换行符
REPLACE(Account.AcAddress,CHAR(10),'<br/>')