0

次のコードでMVC3Razorで繰り返される文字列のコレクションがあります。

        @if (Model.Publications != null)
        {
            <tr>
                <th>Publications</th>
                <td>
                    @foreach (var publication in @Model.Publications)
                    {
                        <text>@publication.Title</text>
                    }
                </td>
            </tr>
        }

これを表示すると、次のように表示されます。

Book1Book2Book3

しかし、私が本当に欲しいのはこのようなものです:

Book1, Book2, Book3

'if'ステートメントと'foreach'ステートメントを組み合わせる必要なしにこれを達成するためのMVCかみそりの簡単な方法はありますか?

4

3 に答える 3

5
string.Join(", ", model.Publications.Select(pub => pub.Title).ToArray())
于 2012-08-27T13:57:27.120 に答える
5
@string.Join(",",Model.Publications.Select(p=>"<text>"+ p.Title+ "</text>"))
于 2012-08-27T13:57:35.683 に答える
1
@if (Model.Publications != null)
        {
            <tr>
                <th>Publications</th>
                <td>
                    @var first = true
                    @foreach (var publication in @Model.Publications)
                    {
                        <text>@string.format("{0}{1}", first ? "" : ", ",  publication.Title)</text> 
                        @first = false;
                    }
                </td>
            </tr>
        }
于 2012-08-27T13:58:40.413 に答える