1

私はこのようなモデルクラスを持っているかどうか疑問に思っていました:

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

私のビューではDisplayForを使用しているので、すべての電子メールが表示されますが、1つの文字列として表示されます。

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

john @ gmail.comjohn @ hotmail.comjohn @ microsoft.com

次のように、Eメールプロパティに適用できる何らかのDisplayFormat属性があります。これにより、1つの連絡先のすべてのEメールがコンマで区切られて表示されます。

john @ gmail.com、john @ hotmail.com、john @ microsoft.com

この単純な操作のために、私のビューではforeach(Model.Emailのvar email)を実際に使用したくありません。

ありがとう。

4

2 に答える 2

3

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)
于 2012-08-03T18:48:00.197 に答える
0

カスタムヘルパーを作成する必要があります。

このビデオチュートリアルはあなたを助けます: http: //pluralsight.com/training/players/PSODPlayer ?author = scott-allen&name = mvc3-building-views&mode = live&clip = 6&course = aspdotnet-mvc3-intro

于 2013-02-12T18:16:50.757 に答える