gpt4 book ai didi

c# - 传入字典的模型项的类型为 'System.Net.Http.HttpResponseMessage' ,

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:48 24 4
gpt4 key购买 nike

完全错误

The model item passed into the dictionary is of type 'System.Net.Http.HttpResponseMessage', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`

我正在尝试使用 viewmodel 从 web api 获取一些数据。

这是我的行为

public ActionResult PayBilgileri()
{
Session["dersGrupID"] = 470122;
int DersGrupID = Convert.ToInt32(Session["dersGrupID"]);

Core.ViewModel.Ders.DersDetay.PayVeNotBilgileriViewModel PayBilgileri = new Core.ViewModel.Ders.DersDetay.PayVeNotBilgileriViewModel();

PayBilgileri.DersPlanID = DersGrupID;

using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://myapi.com");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//HttpResponseMessage response = client.GetAsync("api/Ders/ListelePaylarVeNotBilgileri").Result;
var response = client.PostAsJsonAsync("api/Ders/ListelePaylarVeNotBilgileri", PayBilgileri).Result;
if (response.IsSuccessStatusCode)
{

}
return PartialView(response);
// PartialViewResult(response, JsonRequestBehavior.AllowGet);
}

}

和局部 View

@model IEnumerable<Core.ViewModel.Ders.DersDetay.PayVeNotBilgileriViewModel>

<table class="table">

@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.KatkiOrani)
</td>
</tr>
}
</table>

最佳答案

您需要从 HttpResponseMessage 中提取数据作为IEnumerable<PayVeNotBilgileriViewModel>然后才将其作为 View 模型传递:

if (response.IsSuccessStatusCode)
{
var vm = response.Content.ReadAsAsync<IEnumerable<PayVeNotBilgileriViewModel>>().Result;
return PartialView(vm);
}

参见 ReadAsAsync

关于c# - 传入字典的模型项的类型为 'System.Net.Http.HttpResponseMessage' ,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28805218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com