Я написал помощникMVC Html пользовательских Helper срезанные пространства
public static class TestHelper
{
public static string Test(this HtmlHelper helper)
{
var writer = new HtmlTextWriter(new StringWriter(), string.Empty);
//writer.InnerWriter.NewLine = string.Empty;
//writer.NewLine = string.Empty;
writer.RenderBeginTag(HtmlTextWriterTag.Ul); //<ul>
for (int i = 0; i < 5; i++)
{
RenderRow(helper, writer, i);
}
writer.RenderEndTag(); //</ul>
return writer.InnerWriter.ToString();
}
private static void RenderRow(HtmlHelper helper, HtmlTextWriter writer, int i)
{
writer.RenderBeginTag(HtmlTextWriterTag.Li);
writer.Write(i);
writer.RenderEndTag();
}
}
и использовать его таким же образом:
@Html.Test()
, но в результате я вижу HTML-теги в браузере. Проблема заключается в пробеле перед первым тегом:
<ul> <li>0</li><li>1</li><li>2</li><li>3</li><li>4</li> </ul>
есть символ с кодом 020h перед «ul». I судимое:
1) в классе Test:
return writer.InnerWriter.ToString().Trim();
2) в файле cshtml:
@Html.Test().Trim()
3) судимое изменить писатель настройки
writer.InnerWriter.NewLine = string.Empty;
writer.NewLine = string.Empty;
Но все это без положительного результата (третий шаг частично очищает код). Есть ли какой-либо способ иметь html-код без вкладок, пробелов, конца строки и т. Д.?
'.Replace ("", string.empty)' также не помогает. Блейз, спасибо за попытку – user1820916