I get this Exception but i don't how to fix it:
The model item passed into the dictionary is of type 'System.Collections.Generic.List
1[DataModel.Gabarit]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1[ViewModel.GabaritViewModel]'.
My Controller:
public ActionResult Traitement(string designation)
{
GabaritRepository gabaritrepository = new GabaritRepository(db);
var gabarits = gabaritrepository.Get(g => g.Designation == designation).ToList();
return View(gabarits);
}
My View:
@model IEnumerable<ViewModel.GabaritViewModel>
@{
ViewBag.Title = "Traitement";
}
<h2>Traitement</h2>
<div class="col-xs-12">
<div class="box">
<h2>Gabarits</h2>
<table class="table table-striped">
<tr>
<th>
Code à barre
</th>
<th>
Etat
</th>
<th>
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.CodeBarre)
</td>
<td>
@Html.DisplayFor(modelItem => item.Etat)
</td>
<td>
@Html.ActionLink("Sortie", "Sortie", new {id = item.CodeBarre})
</td>
</tr>
}
</table>
</div>
</div>
GabaritViewModel:
namespace ViewModel
{
public class GabaritViewModel
{
public int CodeBarre { get; set; }
public string Designation { get; set; }
public string Photo { get; set; }
public Nullable<int> Produit { get; set; }
public Nullable<int> Poste { get; set; }
public string Exemplaire { get; set; }
public string Etat { get; set; }
public int Id_Etat { get; set; }
}
I have to pass ViewModel not DataModel and I don't know why I'm not allowed to.