Я не уверен, почему следующий код не работает должным образом:
litMessage.Text = messageBody.Replace(Environment.NewLine, "<br/>")
Где litMessage
- имя литерального элемента управления, а messageBody
- имя строковой переменной.
Мое намерение состоит в том, чтобы вывести строку на веб-страницу и заменить разрывы строк тегом br, чтобы он мог корректно отображаться на странице. Однако ничто не заменит. При просмотре исходного кода страницы похоже, что разрывы строк все еще существуют в строке. Аналогично, при отображении строки через MsgBox она также отображается нормально. Я также попытался обернуть вывод тегом pre
, и он также правильно отображает разрывы строк.
Строка была первоначально введена пользователем с помощью asp: Textbox и сохранена в базе данных MSSQL. Он извлекается и отображается на другой веб-странице с помощью элемента управления asp: Literal. Единственное, что происходит со строкой перед ее отправкой, это то, что она обрезается (т.е. textbox.Text.Trim())
.
Может быть, я что-то не учел?
Редактировать # 1: Из-за нехватки времени я решил просто обернуть текст тегом pre
. Это приемлемое решение, поскольку оно сохраняет разрывы строк. К сожалению, это не объясняет, почему код не работал в первую очередь. А пока я просто оставлю вопрос без ответа, пока не найду правильный ответ.
Редактировать # 2: Решение найдено и дан ответ ниже. Тег UpdatePanel добавлен в вопрос для дальнейшего использования.