Multiple @Model dans une page MVC c#
Bonjour à tous,
Je bloque devant ce message d'erreur (Erreur : CS0246 : Le nom de type ou d'espace de noms 'RetourModel' est introuvable (vous manque-t-il une directive using ou une référence d'assembly*?)) :
Je m'explique :
- A la base dans ma vue j'ai cette déclaration en haut de ma page (@Model Client) ET dans le Controller return View(GestionClients);....Ca fonctionne.
- Dans une autre création dans ma vue j'ai cette déclaration en haut de ma page (@model IEnumerable<Produit>) ET dans le Controller return View(db.Tbl_produits.ToList());....Ca fonctionne.
Ceci dit, maintenant je souhaite réunir les deux @Model dans une seule vue.
Donc je déclare une class que je nomme (MultiModels), voici :
Code:
1 2 3 4 5 6 7 8 9 10
|
using System.Collections.Generic;
namespace Site_LsB_MVC.Models
{
public class MultiModels
{
public IEnumerable<Produit> Produits { get; set; }
public Client Clients { get; set; }
}
} |
Dans mon Controller j'ai ce qui suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public class ProdDbContext : Controller
{
private Data.ProdDbContext db = new Data.ProdDbContext();
public static Client cMain;
public ActionResult Index()
{
Client GestionClients = new Client();
cMain = new Client();
GestionClients.Clients = cMain.Clients = FillList();
MultiModels RetourModel = new MultiModels
{Produits = db.Tbl_produits.ToList(), Clients = GestionClients};
return View(RetourModel);
}
} |
Et dans ma vue je note : @model RetourModel
Aucun soucis sur les déclarations de mes inputs et les @Html.TextAreaFor, n'y sur le @foreach (var item in Model.Produits).
Par contre dans ma liste d'erreurs j'ai deux codes CS0246 comme indiqué en haut de mon message !
Me manque t'il une déclaration quelconque ?
Merci d'avance pour votre aide.
Bruno