【发布时间】:2019-05-07 07:20:01
【问题描述】:
我很难将列表对象模型中的值显示到视图中。
我尝试使用此代码显示它
@model IEnumerable<MVC.Models.RootObject>
@foreach (var item in @Model)
{
<li>@item.records</li>
}
但是显示错误
传入字典的模型项的类型为“MVC.Models.RootObject”,但此字典需要类型为“System.Collections.Generic.IEnumerable`1[MVC.Models.RootObject]”的模型项。
这是我用来将数据从模型传递到视图的控制器
var transno = "ST-100420190001";
var client = new HttpClient();
var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://myurl.com/" + transno),
Headers = {
{ HttpRequestHeader.Accept.ToString(), "application/json" },
{ HttpRequestHeader.ContentType.ToString(), "application/json"},
{ "client-id", "client_id"},
{ "client-secret","client_secret"},
{ "partner-id","partner_id"},
{ "X-Version", "1" }
}
};
var response = client.SendAsync(httpRequestMessage).Result;
RootObject obj = JsonConvert.DeserializeObject<RootObject>(await
response.Content.ReadAsStringAsync());
return View(obj);
RootObject 模型如下所示
public class RootObject
{
public List<Record> records { get; set; }
public int totalRecords { get; set; }
}
那么Record模型是这样的
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行是什么?该错误表明它是IEnumerable<RootObject>,但您传递的是一个RootObject。
标签: c# asp.net-mvc view model