Преобразование разрыва строки из значения многострочного текстового поля, хранящегося в MS SQL Server, в HTML

Хорошо, я сохраняю значение многострочного текстового поля в 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 и получить разрывы строк?


person Flo    schedule 30.06.2015    source источник
comment
Пожалуйста, покажите, как вы получаете row, как вы инициализируете mailContent.   -  person CodeCaster    schedule 01.07.2015
comment
@CodeCaster Я добавил дополнительный код, демонстрирующий это. Надеюсь, это поможет!   -  person Flo    schedule 01.07.2015


Ответы (2)


Похоже, в вашем содержании может быть только \n. Попробуйте также заменить \n на </br>. Попробуй это,

mailContent = mailContent.Replace(vbLF, "<br/>").Replace(vbCrlf, "<br/>")
person vendettamit    schedule 30.06.2015

Заменить разрывы строк в запросе выбора SQL

 REPLACE(Account.AcAddress,CHAR(10),'<br/>')
person Arun Anand    schedule 25.11.2016