Probleme avec DropDownlist
Salut,
Je un formulaire addcar qui permet a un utilisateur d'ajout un voiture à mon BD.
Dans le table Voiture j'ai un clé étrangère Idcat qui referance la catégorie de voiture.
Voici mon code de vue :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<J2V.Models.vehicule>" %>
// du code
<% using (Html.BeginForm("addcar", "Agence", FormMethod.Post, new { @class = "search_form" }))
{ %>
<%: Html.ValidationSummary(true) %>
// code du champs a remplir.
<div class="editor-label">
<p>
<%: Html.LabelFor(model => model.Idcat) %>
</p>
</div>
<div class="editor-field">
<p>
<!-- in this dropDownList i want to show the all Name Of Marque in my forgien table and user when he select value wil be set at id of selected marque -->
<%: Html.DropDownListFor(model => model.Idcat, ViewBag.cat as SelectList)%>
<%: Html.ValidationMessageFor(model => model.Idcat) %>
</p>
</div> |
et voiçi mon code de controller :
Code:
1 2 3 4 5 6 7
| public ActionResult addcar()
{
ViewBag.cat = new SelectList(entity.categorie, "Idcat", "Nom");
return View();
} |
Le problème quand je clic sur ajouter(Button d'action) je reçois cette erreur:
Citation:
Il n'y a aucun élément ViewData de type 'IEnumerable<SelectListItem>' avec la clé 'Gov'.
au niveau de cette ligne : <%: Html.DropDownListFor(model => model.Idcat, ViewBag.cat as SelectList)%>
Voici la solution pour cette problème
Salem, Voici la solution pour résoudre ce problème
Dans ton controller action :
Code:
ViewBag.NomVariable = new SelectList(entity.NomDuTable, "CléPrimaire", "ChampsAafficher");
Puis j'ai fais un appelle a cette ViewBag depuis mon vue.
Code:
<%: Html.DropDownListFor("", ViewBag.NomVariable as SelectList)%>
Comment tu récupére la valeur selectionnée dans ton [HttpPost]
Certes tu arrives à afficher la liste sur le view mais mon probléme c'est comment vous récupérez la valeur sélectionnée?