#c# #asp.net #whitespace #ansi-escape
#c# #asp.net #пробелы #ansi-escape
Вопрос:
У меня есть stringbuilder
настройка с escape-последовательностями для отображения ASCII-изображения в тексте. Я использую ASP.NET Веб-формы. Вот мой код:
sb.AppendLine(@" _____ ______ ___ ___ ________ ");
sb.AppendLine(@" | _ _ | | | ___ ");
sb.AppendLine(@" \__ \ _| ");
sb.AppendLine(@" \|__| \ \ ");
sb.AppendLine(@" \ _\ ");
sb.AppendLine(@" __ __ _______ _______ ");
sb.AppendLine(@" |__| |__||_______||_______| ");
sb.AppendLine(@" ");
И вот результат:
_____ ______ ___ ___ ________
| _ _ | | | ___
\__ \ _|
\|__| \ \
\ _\
__ __ _______ _______
|__| |__||_______||_______|
Я использую текстовое поле для отображения моего stringbuilder textbox1.Text = sb.ToString();
и распечатываю его на ASP.NET страница.
Как я могу сохранить свои строки так же, как я их ввел?
Комментарии:
1. Покажите, как вы также генерируете выходные данные, это может иметь отношение к проблеме.
2. Я не вижу проблем, то, что вы ввели, — это то, что вы получили. Да, выходные данные в SO в вопросе выглядят по-разному, но если вы скопируете / вставите текст своего вопроса (см. в редактировании) в блокнот, 2 выглядят совершенно одинаково. Так что, вероятно, это просто зависит от того, что вы используете для просмотра этого вывода.
3. @MarkSchultheiss, извините, только что добавил, что
4. @igor Его «вывод» отличается от кода. Его вывод содержит не более 1 пробела в строке, но его код содержит до ~ 5 пробелов в строке. нейт должен показать нам, как он генерирует выходные данные или как он их просматривает. Комментарии StackOverflow, например, удаляют лишние пробелы (кроме 1 символа), поэтому, возможно, все, с чем он «просматривает» текст, удаляет все, кроме 1 пробела.
5. ПРИМЕЧАНИЕ: пробелы сохраняются в a
string
в C #, а также в aStringBuilder
(он принимаетstrings
) — так что это неStringBuilder
вещь, и я удалю тег
Ответ №1:
Результатом является веб-страница html, а в html несколько пробелов отображаются как один пробел.
Вы могли бы решить это с помощью css:
.myTextBox{
white-space: pre;
}
Или с помощью <pre>
тега, если это не так, и элемента формы ( <input>
и т. <textarea>
Д.):
<div>multiple spaces will be displayed as one space</div>
<pre>multiple spaces will be displayed as typed! </pre>
Комментарии:
1. Я пытаюсь это сейчас
2. Я не мог заставить css работать в asp.net страница по какой-то причине, но я заставил работать тег <pre>. Жаль, что я не мог заставить css работать, тег создает рамку вокруг текстового поля
3. Если вы опубликуете HTML-код, вам будет легче помочь 🙂
4. на странице, на которой находится текстовое поле:
5. <style type=»text/css»> .txtMain{ white-space: pre; } </style>