我有一个WCF服务,我们必须生成已经消费免费信用的客户的记录。 我已生成该记录,但现在具有相同登录ID的客户端正在重复记录。 我想再次显示登录ID,但想显示他们调用的所有号码。 这是我的观点代码
@model IEnumerable<MyYello.Admin.Models.CallHistory>
@{ViewBag.Title = "UsersWhoHaveConsumedFreeCredit";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Users Who Have Consumed Free Credit</h2>
<table class="table table-striped table-bordered tablesorter" style="display: block">
<thead>
<tr>
<th>Login</th>
<th>FirstName</th>
<th>LastName</th>
<th>Email</th>
<th>Country</th>
<th>Phone</th>
<th>TarrifDesc</th>
<th>CalledNum</th>
<th>CallStart</th>
<th>CallEnd</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.Login</td>
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.Email</td>
<td>@item.Country</td>
<td>@item.Phone</td>
<td>@item.TariffDescription</td>
</tr>
}
@if (!Model.Any())
{
<tr>
<td colspan="14">No Record Found</td>
</tr>
}
</tbody>
</table>
只需要了解如何
答案 0 :(得分:0)
您应该先按用户登录进行分组。这是一个例子:
@foreach (var group in Model.GroupBy(history => history.Login))
{
var item = group.First();
<tr>
<td>@item.Login</td>
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.Email</td>
<td>@item.Country</td>
<td>@string.Join(" - ", group.Select(history => history.Phone))</td>
<td>@item.TariffDescription</td>
</tr>
}