РЕДАКТИРОВАТЬ: Я проверил и попытался много других проблем, связанных с сбоями, которые были обнаружены на SE, но я не нашел много вопросов о том, что должно быть встроенной сборкой (System.Collections.Generic.List<t>
). Это затрудняет возможность вручную добавлять или удалять ссылку и т.д.
Я пытаюсь создать PartialView из ответа API. Я подтвердил, что ответ правильный и хорошо сформированный, мои объекты строятся правильно, но когда я создаю Partial View, вместо этого отображается ошибка компиляции.
Compiler Error Message: CS0012: The type 'System.Collections.Generic.List`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
Вот вид Razor:
@using OpsComponent
@model OpsComponent.ComponentData
<div class="row">
<div class="col-md-6">
<ul class="list-group">
@foreach (Data metric in Model.Metrics)
{
<li class="list-group-item">
<span class="badge">@metric.Value</span>
@metric.Key<br/>
</li>
}
</ul>
</div>
</div>
И вот определение класса данных:
public class Data
{
public string Key { get; set; }
public string Value { get; set; }
public string Source { get; set; }
public Status Status { get; set; }
}
Где Status - это перечисление. Я проверил в Отладке, что объект Model является правильным и хорошо сформированным, прежде чем он будет передан PartialView, но вместо правильного макета, я получу экран ошибки сервера и ответ 500.
в строке @foreach (Data metric in Model.Metrics)
Код действия для полноты:
public ActionResult ComponentDetail(string id)
{
var data = Client.GetComponentData(id.DecodeBase64ToString());
var partialViewResult = PartialView("_ComponentDetail", data);
return partialViewResult;
}