C# 如何在ASP.NETMVC中向视图显示列表对象?
我很难显示从列表对象模型到视图的值 我尝试使用此代码显示它C# 如何在ASP.NETMVC中向视图显示列表对象?,c#,asp.net-mvc,view,model,C#,Asp.net Mvc,View,Model,我很难显示从列表对象模型到视图的值 我尝试使用此代码显示它 @model IEnumerable<MVC.Models.RootObject> @foreach (var item in @Model) { <li>@item.records</li> } 根据我的评论,您希望更改@model行,并可能按照如下方式充实循环 @model MVC.Models.RootObject @foreach (var item in @Model.rec
@model IEnumerable<MVC.Models.RootObject>
@foreach (var item in @Model)
{
<li>@item.records</li>
}
根据我的评论,您希望更改
@model
行,并可能按照如下方式充实循环
@model MVC.Models.RootObject
@foreach (var item in @Model.records)
{
<li>@item.transferId</li>
<li>@item.type</li>
// etc
}
@model MVC.Models.RootObject
@foreach(@Model.records中的var项)
{
@item.transferId
@item.type
//等
}
好的,让我们看看错误消息
视图需要RootObject
的IEnumerable
,但您只是传入了一个RootObject
传入字典的模型项的类型为“MVC.Models.RootObject”,但此字典需要“System.Collections.Generic.IEnumerable`1[MVC.Models.RootObject]”类型的模型项。
我不确定您的API答复了什么,但您可能需要将对象反序列化为RootObject
的IEnumerable
,而不是单个对象。你试过调试这些线路吗
var response=client.sendaync(httpRequestMessage).Result;
RootObject obj=JsonConvert.DeserializeObject(wait response.Content.ReadAsStringAsync());
返回视图(obj);
如果情况并非如此,并且您希望在以后进行多个API调用以构建列表
像这样的东西应该有用,但我建议你遵循上面的内容,因为从你发布的剃须刀来看,这似乎更像是你在寻找的东西
var response=client.sendaync(httpRequestMessage).Result;
RootObject obj=JsonConvert.DeserializeObject(等待
response.Content.ReadAsStringAsync());
IEnumerable list=new list(){obj};
返回视图(列表);
视图文件中的@model
行是什么?错误表明它是IEnumerable
,但您正在传递单个RootObject
。在使用您的代码建议后,我遇到了此错误。”“IEnumerable”不包含“records”的定义,并且不能使用接受“IEnumerable”类型的第一个参数的扩展方法“records”found@ikey这是因为您没有给记录
任何值,因此它是空的,但在调试程序后,我看到一个值被传递给记录
。也许这个代码就是问题所在IEnumerable
@ikey这听起来好像您没有正确更改foreach
。您是否已编辑它以循环查看记录
而不是模型?/将视图模型从列表更改为单个模型我在回答中添加了@model
行,它应该是RootObject
而不是它们的集合。我的api返回的是一个“记录”对象列表,就像我的“记录”模型中显示的那样。您的第二个建议对我很有用,但是可以通过多次api调用来构建列表吗?它不会使页面变慢吗?@ikey它会使页面变慢。您需要调用一个端点,该端点返回记录
对象的列表,然后调用反序列化对象
一个IEnumerable
public class RootObject
{
public List<Record> records { get; set; }
public int totalRecords { get; set; }
}
public class Record
{
public string transferId { get; set; }
public string type { get; set; }
public DateTime createdAt { get; set; }
public string dateUpdated { get; set; }
public string state { get; set; }
public string senderTransferId { get; set; }
}
@model MVC.Models.RootObject
@foreach (var item in @Model.records)
{
<li>@item.transferId</li>
<li>@item.type</li>
// etc
}