Im создавая при получении типа Расположения приложенияМодель элемент передается в словарь типа 'System.Collections.Generic.List [CA1API.Models.Weather]
Я получаю эту ошибку
Model item passed into the dictionary is of type 'System.Collections.Generic.List[CA1API.Models.Weather]', but this requires model item type 'System.Collections.Generic.IEnumerable [CA1API.Models.Location]'.
Я создал свой ViewModel, который выглядит следующим образом пространства имен CA1API.Models
{
public enum County
{
Ireland,
England,
Iceland
}
public class Location
{
public int LocationID { get; set; }
[Display(Name = "Location")]
public County LocationName { get; set; }
public double Lat { get; set; }
public double Lon { get; set; }
public int WeatherID { get; set; }
public List<Weather> Weathers { get; set; }
}
}
мой контроллер выглядит следующим образом
public class HomeController : Controller
{
private WeatherDb db = new WeatherDb();
public ActionResult Index()
{
return View(db.Weathers.ToList());
}
}
мой взгляд выглядит следующим образом
@model IEnumerable<CA1API.Models.Location>
<div class="row">
<div class="col-md-2">
<div class="panel panel-success">
<div class="panel-heading">County</div>
<div>
<div class="panel-body" style="overflow-x:hidden; height:300px;">
@foreach (var item in Model)
{
<p>modelItem=>item.County</p>
}
</div>
</div>
</div>
</div>
Можете ли вы добавить верхнюю часть индекса просмотра? строка, начинающаяся с '@model ...'? – adricadar
У вас есть '@model IEnumerable' - но ваша передача 'IEnumerable '. Измените представление на '@model IEnumerable ' (Не совсем уверен, что должно отображаться в представлении, но типы должны совпадать) –