【发布时间】:2020-04-01 21:55:36
【问题描述】:
我正在尝试从模型 This is a scorecard. There can be multiple users on a single scorecard. Session ID represents a SINGLE scorecard. 中删除重复数据
我想将会话 ID 组合在一起,并为每个会话显示一个引导卡。有点像这样...This is still showing a card for multipole session 1 ID's. I need 1 card for every different session ID
我尝试在第一个 foreach 中嵌套第二个 foreach,以尝试遍历 sessionId 的 `@foreach(模型中的变量项)
{
foreach (var session in item.SessionId)
{
<div class="card">
<div class="card-header">
<h5 class="card-title text-center">@Html.DisplayFor(modelItem => item.CourseName)</h5>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item">@Html.DisplayFor(modelItem => item.UserName)</li>
</ul>
</div>
<div class="card-footer">
<p class="card-text text-center">@Html.DisplayFor(modelItem => item.Date)</p>
</div>
</div>
}
}`
我创建了一个变量,它检查了 sessionId 的最后一次迭代并将其与当前的一个`@foreach(模型中的变量项)进行了比较
{
var lastitem = Model.Last();
if (item.SessionId != lastitem.SessionId)
{
<div class="card">
<div class="card-header">
<h5 class="card-title text-center">@Html.DisplayFor(modelItem => item.CourseName)</h5>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item">@Html.DisplayFor(modelItem => item.UserName)</li>
</ul>
</div>
<div class="card-footer">
<p class="card-text text-center">@Html.DisplayFor(modelItem => item.Date)</p>
</div>
</div>
}
}`
我也尝试过使用 for 循环...
<div class="card-deck">
<div class="card">
@for (int i = Model.FirstOrDefault().SessionId; i < Model.Count(); i = i + 1)
{
<div>@i</div>
}
</div>
</div>
我只有 8 个会话 ID 编号 (1-8),但每个会话有多个会话 ID(即 36 个会话 1 ID)。所以当我以 Model.Count() 为目标时,它会返回一个巨大的数组。
为了解决这个问题,我尝试了...
<div class="card-deck">
<div class="card">
@for (int i = Model.FirstOrDefault().SessionId; i < Model.Distinct().FirstOrDefault().SessionId; i = i + 1)
{
<div>@i</div>
}
</div>
</div>
我试图定位选定的项目 Distinct Session Id,但它没有返回任何内容。
【问题讨论】:
-
到目前为止你做了什么?分享你的努力,其他人会帮助你完善它,但你必须有一些工作要做。 SO 不是为了实现想法。
-
请不要添加代码图片,添加您的实际代码
标签: c# asp.net-mvc model-view-controller razor