MVC Model DisplayFormat for Array类型属性?

时间:2012-08-03 18:36:22

标签: c# asp.net-mvc data-annotations

我想知道我是否有这样的模型类:

public class Contact
{
    public string Name { get; set; }
    public string[] Emails { get; set; }
}

在我的视图中我使用DisplayFor,因此它确实显示所有电子邮件,但只是一个字符串。

@Html.DisplayFor(modelItem => item.Emails)

约翰@ gmail.comjohn @ hotmail.comjohn @ microsoft.com

我是否可以将某种DisplayFormat属性应用于Emails属性, 这样它就会显示单个联系人的所有电子邮件,用逗号分隔,如下所示:

john@gmail.com,john @ hotmail.com,john @ microsoft.com

对于这个简单的操作,我真的不想在视图中使用foreach(在Model.Email中使用var电子邮件)。

感谢。

2 个答案:

答案 0 :(得分:2)

如何向ViewModel添加另一个字符串属性以表示字符串数组的逗号分隔版本并在视图中使用该属性

public class Contact
{
    public string Name { get; set; }
    public string[] Emails { get; set; }
    public string EmailsCommaSeperated 
    { 
      get
      {
        return String.Join(",",Emails);
      }
    }
}

并将其用作

@Html.DisplayFor(modelItem => item.EmailsCommaSeperated)

答案 1 :(得分:0)