2012-07-02 31 views
1

我有一个字符串数组,我希望它以逗号分隔的形式返回。要用逗号分隔的字符串数组

@Html.DisplayFor(m => name.studentName) <span>, </span>} 

我使用这种方式,但最后一个字符串也以逗号结尾。想知道如何避免这种情况?

回答

1

我假设你有学生集合在你的模型中的每个拥有你想要显示studentName属性:

public IEnumerable<Student> Students { get; set; } 

而且你的视图中,你通过这个集合循环和单独显示每个学生的名字。

,而不是循环,你可以做以下的现在:

@Html.Raw(
    string.Join(
     "<span>,<span>", 
     Model.Students.Select(x => Html.Encode(x.studentName)) 
    ) 
) 

,甚至更好,外化这个逻辑到一个可重用的自定义HTML帮助:

public static class HtmlExtensions 
{ 
    public static IHtmlString FormatStudentNames(this HtmlHelper htmlHelper, IEnumerable<Student> students) 
    { 
     return new HtmlString(
      string.Join(
       "<span>,<span>", 
       students.Select(x => Html.Encode(x.studentName)) 
      ) 
     ); 
    } 
} 

,然后里面你的观点简单地调用这个帮手:

@Html.FormatStudentNames(Model.Students) 

你不再需要写任何foreach或其他任何东西你正在写作的作品。