Comment obtenir la valeur sélectionnée de dropdownlist dans le Contrôleur (MVC 2)
J'ai du mal à obtenir la valeur sélectionnée de la codées en dur dropdownlist dans mvc , voici le code:
Vue:
<tr><td>No of Helmets</td><td><div class="editor-field">
<%: Html.DropDownList("helmets", (SelectList)ViewData["size"], "--select--")%>
</div></td></tr>
<tr><td>No of Garages</td><td><div class="editor-field">
<%: Html.DropDownList("garages", (SelectList)ViewData["garages"], "--select--")%>
Contrôleur:
//déroulante pour les casques
[HttpPost]
public ActionResult Create(Event trackday, FormCollection formValues)
{Product product = new Product();//
ViewBag.mode = "create";
//for dropdown track
ITrackRepository trackResp = new TrackRepository();
IQueryable<Object> tracks = trackResp.GetVenuesSelectlist();
ViewData["Venue"] = new SelectList(tracks, "VenueID", "Name");
var helmets = Enumerable.Range(1, 200).Select(x => new SelectListItem { Value = x.ToString(), Text = x.ToString() });
ViewData["helmets"] = new SelectList(helmets.ToList(), "Value", "Text");
//dropdown for garages
var garages = Enumerable.Range(1, 50).Select(x => new SelectListItem { Value = x.ToString(), Text = x.ToString() });
ViewData["garages"] = new SelectList(garages.ToList(), "Value", "Text"); product.QtyAvailable = Convert.ToInt32(formValues["garages"]);
if (ModelState.IsValid)
{
trackday.DateAdded = DateTime.Now;
trackday.DateModified = DateTime.Now;
// productResp.Save();//
// trackday.Products.Add(product);
trackdayResp.Add(trackday);
trackday.Products.Add(product);
trackdayResp.Save();
return RedirectToAction("Index");
}
else
{
return View();
}
}`
Comment puis-je obtenir la valeur Sélectionnée de la au-dessus de 2 dropdownlist dans mvc contrôleur post.
- Pouvez-vous nous montrer ce que vous avez donc beaucoup pour votre post de l'action?
- question édité.
InformationsquelleAutor Mr A | 2011-06-15
Vous devez vous connecter pour publier un commentaire.
Que vous avez appelée de vos listes déroulantes "casques" et "garages" si vous le débogage de votre action et de regarder la
formValues
dictionnaire votre devrait voir ces deux valeurs.Vous pouvez également modifier votre modèle à avoir un "Casques" et "Garages", une propriété de type int? et le modèle de cartable doit remplir ces valeurs.
Ou vous pourriez changer votre action à quelque chose comme:
Ce doit être rempli avec les id (valeur sélectionnée) de la liste déroulante.
Mise à jour
Voici mon code qui obtient les valeurs de la collection ou de la passé propriétés:
HTML:
Contrôleur: