将MS SQL Server中存储的多行文本框值中的换行符转换为HTML
好的,我将SQL Server中多行文本框的值存储在nvarchar(1000)类型的[txt]列中 本例中的多行文字为: 亲爱的先生: 欢迎来到我们的平台 最好的,我们 将结果保存到MSSQL后,我运行一个查询来选择值。 当我直接从SQLServerManagementStudio中的查询结果复制[txt]列的值并将其粘贴到Notepad++中时,我再次看到原始文本。 此外,再次从数据库加载文本并将其分配给多行文本框也可以正常工作 但是,在我的代码隐藏中,我将数据库列[txt]的值分配给字符串变量(因此不是从Textbox分配给变量): 然后在电子邮件中发送此值,电子邮件收件人看到的文本没有换行符,因此: 亲爱的先生,欢迎来到我们的平台。最好的,我们 我尝试了下面所有不同的场景:将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]的值分配给字符串
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/>')