编辑:我已经检查并尝试了很多其他在SE上找不到的Assembly NotReferenced问题,但是我还没有发现很多处理内置程序集(System.Collections.Generic.List< t>)的内容.这使得很难手动添加或删除引用等
我正在尝试从API响应中构建一个PartialView.我已经确认响应是正确和良好的形式,我的对象正在正确构建,但是当我生成部分视图时,编译错误被显示.
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'.
这是剃须刀视图:
@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>
这里是Data类的定义:
public class Data { public string Key { get; set; } public string Value { get; set; } public string Source { get; set; } public Status Status { get; set; } }
状态是枚举.我已经在调试中检查了Model对象在传递给PartialView之前是否正确且格式正确,但是没有正确的布局,所以我得到了Server Error屏幕和500个响应.
在@foreach(Model.Metrics中的数据度量)
完整性的行动代码:
public ActionResult ComponentDetail(string id) { var data = Client.GetComponentData(id.DecodeBase64ToString()); var partialViewResult = PartialView("_ComponentDetail",data); return partialViewResult; }