我写了助手
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>
在“ul”之前有一个代码为 020h 的符号。我试过了:
1)在测试类中:
return writer.InnerWriter.ToString().Trim();
2)在cshtml文件中:
@Html.Test().Trim()
3)试图改变作家设置
writer.InnerWriter.NewLine = string.Empty;
writer.NewLine = string.Empty;
但是所有这些都没有积极的结果(第三步部分清理代码)。这里有没有办法让html代码没有制表符、空格、字符串结尾等?