Request.Form по-разному обрабатывает новые строки в TextArea в ASP .NET

У меня есть две страницы, на которых есть элементы управления текстовой областью. Когда пользователь отправляет одну страницу, новые строки обрабатываются как char(13) + char(10). Но на другой странице новые строки обрабатываются как char(10). Я подтвердил это, просмотрев словарь Request.Form.

Две страницы размещены в одном и том же приложении веб-форм ASP .NET 4.0, и с точки зрения разметки страницы выглядят совершенно одинаково. Я вошел в систему как тот же пользователь в том же браузере.

Когда я использую JavaScript для проверки наличия char 10 и char 13 в элементе управления в браузере, обе страницы содержат только char(10).

Кажется, что IIS/ASP.NET настроен для обработки запросов формы по-разному на двух страницах, но я не могу понять, в чем разница. Что вызывает такое поведение?


person Brandon Montgomery    schedule 01.06.2012    source источник
comment
Какая операционная система и браузер?   -  person Chris Cannon    schedule 02.06.2012


Ответы (1)


Различные операционные системы используют разные комбинации символов для представления новой строки.

В Windows это CR + LF, в Linux — LF, а в Mac — CR.

CR = возврат каретки LF = перевод строки

Вы можете увидеть символы конца строки, если скопируете / вставите текст в Notepad++ и выберите «Просмотр»> «Показать все символы».

person Chris Cannon    schedule 01.06.2012
comment
Я знаю, и это хороший момент, но я использую для этого Windows и использую один и тот же экземпляр браузера для отправки обеих страниц, поэтому я не вижу, как это может иметь значение. - person Brandon Montgomery; 02.06.2012