在Asp.Net Mvc中,使用HtmlString对象来输出html代码,如下:
@{
var list = ViewData["CategoryList"] as List<xxxx.Category>;
if (list != null && list.Count > 0)
{
@(new HtmlString("<ul>"));
foreach (var category in list)
{
@(new HtmlString("<li><a href=\"/Category/List/" + CategoryInfo.Id + "-" + category.Id + ".html\">" + category.NoteTitle + "</a></li>"));
}
@(new HtmlString("</ul>"));
}
}
查看html代码,生成的内容如下:<ul><li><a href="/Category/List/104-112.html">集团新闻</a></li><li><a href="/Category/List/104-113.html">行业动态</a></li><li><a href="/Category/List/104-114.html">旅游资讯</a></li></ul>
直接一行过去。
如何控制输出HtmlString中的内容呢,让它有层次的输出,而不是所有内容直接一行输出。
加上换行符\n
你是说,这样吗
@(new HtmlString("<ul>\n"));
另外一个是,如果直接输出,其html代码会如下:
为了能让其工整输出如下:
只能在代码里,添加空格,并尽量上下对齐,以出现层次感,
请问,还有其它办法,能让输出的html代码,工整呢?
@king2003: 不要用HtmlString,代码如下:
<ul> @foreach (var category in list) { <li><a href="/Category/List/@(CategoryInfo.Id)-@(category.Id).html">@category.NoteTitle</a></li> } </ul>
@dudu: 嗯,说得没错,是不用HtmlString.