Управление пробелами в ASPX / ASP.NET - PullRequest
3 голосов
/ 19 марта 2011

Я немного покопался в ASP.NET и наткнулся на какое-то странное поведение с пробелами в отображаемом выводе. Кажется, довольно сложно правильно контролировать отступы и переводы строк, особенно при использовании циклов. Я сделал образец, чтобы проиллюстрировать мою проблему:

<%@ Page Language="C#" %>

<% 
  string[] StringList = new string[]{"Stack", "OverFlow", "Rocks", "My", "Socks", "Of"};
%>
*** No whitespace before each word... ***
<% for(int word=0;word<StringList.Length;word++){ %>
  <%= StringList[word] %>
<% } %>

*** No whitespace and no newline before each word... ***
<% for(int word=0;word<StringList.Length;word++){ %>

  <%= StringList[word] %>
<% } %>

*** No whitespace and a newline after each word... ***
<% for(int word=0;word<StringList.Length;word++){ %>
  <%= StringList[word] %>

<% } %>



*** Whitespace before each word...and some "free" newline before each word ***
<% for(int word=0;word<StringList.Length;word++){ %>
  _<%= StringList[word] %>
<% } %>

*** Whitespace and a newline before each word...and some "free" newline before each word ***
<% for(int word=0;word<StringList.Length;word++){ %>

  _<%= StringList[word] %>
<% } %>

Вывод, сгенерированный для этого кода, выглядит следующим образом (в исходном коде):

*** No whitespace before each word... ***
Stack
OverFlow
Rocks
My
Socks
Of


*** No whitespace and no newline before each word... ***
Stack
OverFlow
Rocks
My
Socks
Of


*** No whitespace and a newline after each word... ***
Stack

OverFlow

Rocks

My

Socks

Of





*** Whitespace before each word...and some "free" newline before each word ***

  _Stack

  _OverFlow

  _Rocks

  _My

  _Socks

  _Of


*** Whitespace and a newline before each word...and some "free" newline before each word ***


  _Stack


  _OverFlow


  _Rocks


  _My


  _Socks


  _Of

Возможно ли иметь некоторый контроль над обработкой пробелов?

Дополнительная заметка, основанная на сверхбыстрых ответчиках (спасибо за это)! Я не хочу генерировать HTML. Я хочу использовать ASP.NET в качестве движка шаблонов. Что действительно приятно и быстро, но, похоже, не хватает контроля над пробелами. Отсюда и мой вопрос.

Большое спасибо!

1 Ответ

2 голосов
/ 19 марта 2011

ASP.NET производит HTML. Изучите основы стилей HTML и CSS , чтобы понять обработку и рендеринг пустого пространства.

То, что было создано в текстовом формате , не означает , которое будет отображаться браузером. Вы должны использовать разметку HTML и стили CSS для форматирования вывода.

...