首页 新闻 会员 周边

如何格式化输出 Asp.Net Mvc中HtmlString的内容

0
悬赏园豆:10 [已解决问题] 解决于 2014-11-22 16:57

在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中的内容呢,让它有层次的输出,而不是所有内容直接一行输出。

king2003的主页 king2003 | 初学一级 | 园豆:161
提问于:2014-11-22 15:45
< >
分享
最佳答案
0

加上换行符\n

收获园豆:10
dudu | 高人七级 |园豆:31007 | 2014-11-22 16:01

你是说,这样吗

@(new HtmlString("<ul>\n"));

king2003 | 园豆:161 (初学一级) | 2014-11-22 16:04

另外一个是,如果直接输出,其html代码会如下:

 

为了能让其工整输出如下:

 

只能在代码里,添加空格,并尽量上下对齐,以出现层次感,

 

 

请问,还有其它办法,能让输出的html代码,工整呢?

king2003 | 园豆:161 (初学一级) | 2014-11-22 16:15

@king2003: 不要用HtmlString,代码如下:

<ul>
    @foreach (var category in list)
    {
      <li><a href="/Category/List/@(CategoryInfo.Id)-@(category.Id).html">@category.NoteTitle</a></li>               
    }
</ul>
dudu | 园豆:31007 (高人七级) | 2014-11-22 16:28

@dudu: 嗯,说得没错,是不用HtmlString.

king2003 | 园豆:161 (初学一级) | 2014-11-22 16:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册