Учитывая словарь в следующем формате, я хочу вывести его в желаемом формате, как показано ниже:
public IActionResult Index()
{
var model = new Dictionary<string, List<MyModel>>
{
{
"Heading1",
new List<MyModel>()
{
new MyModel() {MyKey = "Foo", MyValue = "Value1"},
new MyModel() {MyKey = "Bar", MyValue = "Value2"},
new MyModel() {MyKey = "Baz", MyValue = "Value3"}
}
},
{
"Heading2",
new List<MyModel>()
{
new MyModel() {MyKey = "Foo", MyValue = "Value4"},
new MyModel() {MyKey = "Bar", MyValue = "Value5"}
}
},
{
"Heading3",
new List<MyModel>()
{
new MyModel() {MyKey = "Foo", MyValue = "Value6"},
new MyModel() {MyKey = "Baz", MyValue = "Value7"}
}
}
};
return View(model);
}
Где MyModel - это просто класс:
public class MyModel
{
public string MyKey { get; set; }
public string MyValue { get; set; }
}
Я хочу вывести информацию в следующем формате:
Однако в настоящее время то, что я пробовал в представлении, отображается неправильно:
@model Dictionary<string, List<MyModel>>
@{
ViewData["Title"] = "Index";
}
<h2>Results</h2>
<table class="table table-striped">
<thead>
<tr>
@foreach (var item in Model.Keys)
{
<th>@item</th>
}
</tr>
</thead>
<tbody>
@foreach (var list in Model.Values)
{
<tr>
@foreach (var item in list)
{
<td>@item.MyKey</td>
<td>@item.MyValue</td>
}
</tr>
}
</tbody>
</table>
Как я могу отобразить данные в нужном формате?