Я только что обновил страницу, чтобы использовать DetailsView в asp.net. Он включал текстовое поле MultiLine, которое теперь находится в EditItemTemplate представления сведений. Проблема в том, что при выводе этих данных (которые хранятся в базе данных) я заменял vbCrLf (константа новой строки --> VB, возврат каретки, перевод строки) на ‹br/›, который раньше работал нормально, но теперь что это в подробном представлении, похоже, что vbCrLf не существует, и после замены (str, vbCrLf, "‹br/›") вместо разрыва HTML (‹br/›), где текстовое поле имело разрывы строк , все это просто отображается в одной строке. Как я могу это исправить? Спасибо.
Новая строка в текстовой области в DetailsView (asp.net)
Ответы (5)
Вместо этого попробуйте Environment.NewLine
Установите для htmlEncode значение false
если вы берете данные из базы данных, которые содержат новые строки, то просто оставьте их там, и textArea будет работать нормально... вам не нужно делать замену на "‹BR/›"... вы нужно сделать это только в том случае, если вы помещаете текст на страницу в формате HTML... но пытаетесь заполнить элемент управления вводом, поэтому, если вы не делаете что-то еще непонятное, вам не нужно сделать замену
С помощью элемента управления textarea длинные тексты выглядят так, как будто у них есть разрывы строк, но иногда у них нет разрывов строк. Если текст достигает длины текстовой области, он продолжается на второй строке, но не содержит разрыва строки. Если пользователь нажмет Enter, к вашему контенту будет добавлен новый разрыв строки.
Я думаю, вы упускаете этот момент.
Надеюсь, поможет.
Я всегда заменял код символа — chr(10) в VB.NET — на ‹br /›, чтобы показать разрывы строк. Попробуй?