Хорошо, я сохраняю значение многострочного текстового поля в SQL Server в столбце [txt] типа nvarchar (1000).
Многострочный текст в этом случае:
Уважаемый господин,
Добро пожаловать на нашу платформу.
Best, Us
После сохранения результатов в MSSQL я запускаю запрос для выбора значений. Когда я копирую значение столбца [txt] непосредственно из результатов запроса в SQL Server Management Studio и вставляю его в Notepad ++, я снова вижу исходный текст. Также загрузка текста снова из базы данных и назначение его многострочному текстовому полю работает нормально.
Однако, когда в моем коде позади я присваиваю значение столбца базы данных [txt] строковой переменной (а не из текстового поля в переменную):
Dim mailContent as String = row.txt
а затем отправьте это значение по электронной почте, получатель электронной почты увидит текст без разрывов строки, поэтому:
Уважаемый сэр, Добро пожаловать на нашу платформу. 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/>")
Предпочтительно я не хочу изменять способ хранения или получения данных в / из MSSQL (например, здесь), так как я могу преобразовать текущее значение [txt] в формат HTML и получить разрывы строк?
row
, как вы инициализируетеmailContent
. - person CodeCaster   schedule 01.07.2015