linq to entity query将列表作为连续字符串返回

时间:2012-06-28 21:23:18

标签: c# asp.net-mvc-3 linq entity-framework

我有一个如下所示的查询:

var ChangesOthersResult = surveyResponseRepository.Query.Select(r => r.ChangesOthers);

返回" ChangesOthers"中的所有条目。我桌上的一栏。

当我在视图中返回数据时:

@Html.DisplayFor(modelItem => modelItem.ChangesOthersResult)

它将所有数据作为单个连续文本字符串返回。如何在返回的数据列之间添加换行符?

  var data = new ResultsViewModel() 
                        {
                            PatientFollowUpResult = PatientFollowUpResult,
                            PatientFollowUpResultPct = PatientFollowUpResultPct,

                            TotalResponsesResult = TotalResponsesResult,

                            ChangesOthersResult = ChangesOthersResult,

                        };

查看模型类型

@model CMESurvey.ViewModels.ResultsViewModel

3 个答案:

答案 0 :(得分:1)

<table>
    <tr>
        <th>
            HeaderName1
        </th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
            @Html.DisplayFor(modelItem => modeItem.FieldName)
            </td>
        </tr>
    }
</table>

答案 1 :(得分:1)

也许是这样的:

@foreach (var x in Model.ChangesOthersResult)
{
   @x<br>
}

答案 2 :(得分:0)

当您使用

时,Razor不知道您希望每个项目之间有换行符
@Html.DisplayFor(modelItem => modelItem.ChangesOthersResult)

您可以在选择之前在每个项目中添加字符串"<br/>",从而在选择中逐字添加换行符:

var ChangesOthersResult = surveyResponseRepository
                             .Query
                             .Select(r => r.ChangesOthers + "<br />");