При попытке просмотра представления индекса появляется следующая ошибка:
Элемент модели, переданный в словарь, имеет тип 'TrackingService.WebReferences.GetSOStsRes + Rootobject', но этот словарь требуется элемент модели типа 'System.Collections.Generi c .IEnumerable`1 [TrackingService.WebReferences.GetInvBalRes + Body]'.
Index.cs html
@model IEnumerable<TrackingService.WebReferences.GetInvBalRes.Body>
<div>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.RecvDt)
</th>
<th>
@Html.DisplayNameFor(model => model.Location)
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.RecvDt)
</td>
<td>
@Html.DisplayFor(modelItem => item.Location)
</td>
</tr>
}
</table>
</div>
HomeController.cs
public class HomeController : Controller
{
public ActionResult Index()
{
// ViewBag.Title = "Home Page";
string r = Class1.GetData();
var data = JsonConvert.DeserializeObject<Rootobject>(r);
Debug.WriteLine(data.header.DtTime);
foreach (var d in data.body)
{
Debug.WriteLine(d.SOSts);
}
return View(data);
}
}
Class1.cs
Это вызов веб-API с использованием запроса и ответа.
public class Class1
{
public static string GetData()
{
string request = "{ \"header\": {\"Token\": \"558fedce-a84e-4a9a-8698-5cd27d5af3ed\"},\"body\": {\"WarehouseCode\": \"W001\", \"CompanyCode\": \"C001\"}}";
UploadToBCSSoftSCM b = new UploadToBCSSoftSCM();
string response = b.GetInvBal(request);
return response;
}
}
Model.cs
public class GetInvBalRes
{
public class Rootobject
{
public Header header { get; set; }
public Body[] body { get; set; }
}
public class Header
{
public string Token { get; set; }
public string DtTime { get; set; }
public string ResultCode { get; set; }
public string ResultMsg { get; set; }
}
public class Body
{
public string WarehouseCode { get; set; }
public string CompanyCode { get; set; }
public string Location { get; set; }
public string SKU { get; set; }
public string OnHandQty { get; set; }
public string InventorySts { get; set; }
public string LPN { get; set; }
public string Lot01 { get; set; }
public string Lot02 { get; set; }
public string Lot03 { get; set; }
public string Lot04 { get; set; }
public string Lot05 { get; set; }
public string ExpiryDt { get; set; }
public string ManufactureDt { get; set; }
public string RecvDt { get; set; }
public string Hold { get; set; }
}
}