我无法解决该问题。基本上,从数据库中获取数据的方式是,应用程序有多行,但每一行都是唯一的,您可能有一个名称相同的应用程序,但每一行都有不同的联系人或网址。我想以更好的格式显示此数据,而不是直接从数据库中查看每一行
示例行https://imgur.com/a/GfPpCBi
这就是我希望数据出现的方式,现在该应用程序将为每个联系人和URL设置一行。我希望该应用程序仅显示一次。我正在使用C#
在Razor NET CORE中进行此操作这是我当前的代码,该代码显示每行重复的应用程序名称
当前代码https://imgur.com/a/LRFkNkW
我对Razor和NET CORE还是很陌生,所以这是一个学习过程
答案 0 :(得分:0)
使用几个for-each循环,我能够以所需的方式打印数据。这样做似乎是一种不好的方法,我仍在寻找替代方法,但现在可以了。
<tbody>
@foreach(var l in Model.names)
{
<tr>
<td>
@Html.DisplayFor(modelItem => l.appName)
</td>
<td>
@Html.DisplayFor(modelItem => l.Location)
</td>
<td>
@foreach (var k in Model.contacts)
{
if(k.appName == l.appName)
{
@Html.Raw(k.contactName + " - " + k.contactRole + "<br>")
}
}
</td>
<td>
@foreach(var s in Model.filteredURls)
{
if(s.appName == l.appName)
{
@Html.Raw(s.urls + "<br>")
}
}
</td>
</tr>
}
</tbody>
一个问题是,我必须从DB引入的数据(名称,联系人,filteredUrls)创建3个单独的列表,以防止重复数据。
结果保存查询数据
名称= result.GroupBy(x => x.appName).Select(group => group.First());
这将删除所有重复的信息