2013-08-21 4 views
0

Je suis nouveau pour MVC Dites-moi comment puis-je récupérer la valeur de dropdownlist sélectionnée dans le contrôleur c'est comment j'ajouter les valeurs à DROPDOWNLISTobtenir la valeur de dropdownlist dans MVC4

List<SelectListItem> items = new List<SelectListItem>(); 
      items.Add(new SelectListItem { Text = "What is your Place of Birth?", Value = "What is your Place of Birth?" }); 
      items.Add(new SelectListItem { Text = "What is your favourite Book?", Value = "What is your favourite Book?" }); 
      items.Add(new SelectListItem { Text = "What is your childhood friend name?", Value = "What is your childhood friend name?" }); 
      items.Add(new SelectListItem { Text = "What is your first car make and model?", Value = "What is your first car make and model?" }); 
      items.Add(new SelectListItem { Text = "What is your favourite place?", Value = "What is your favourite place?" }); 
      ViewData["ddlitems"] = items; 

VOIR DOSSIER

@Html.DropDownList("ddlitems") 
+0

ont une valeur pour chaque élément et ajouter le même dans votre modèle (avec le même nom). Le framework MVC récupérera automatiquement les valeurs pour vous. – ckv

+2

Copie possible: [Obtenir la valeur de la liste déroulante dans asp.net MVC] (http://stackoverflow.com/questions/2793585/get-selected-value-of-dropdownlist-in-asp-net-mvc?rq=1) – rexcfnghk

Répondre

0

Sur votre modèle, ont une propriété pour la valeur:

class ModelClass 
{ 
    public string DropdownValue{get; set;} 
} 

Ensuite, utilisez la syntaxe suivante Razor

@Html.DropdownListFor(m => m.DropdownValue, "ddItems"); 

Cela va créer un menu déroulant le même nom que la propriété du modèle, il devrait afficher automatiquement le modèle

0

La façon la plus simple d'obtenir la valeur de la l'option sélectionnée est juste pour faire correspondre l'ID de l'élément à celui que vous publiez sur le ActionResult. Donc, si votre élément select est rendu sous;

<select id="SomeID"> 
    <option value="What is your Place of Birth?">What is your Place of Birth?</option> 
</select> 

Alors que vous publiez ce un ActionResult

[HttpPost] 
public ActionResult MyActionResult(string SomeID){ 
    // SomeID = What is your Place of Birth? 
    Return View(); 
} 

Cela pourrait être l'option la plus simple dans votre cas parce que vous ne disposez pas d'un objet fortement typé que vous passez dans le View. Notez également que cela fonctionne avec tous les éléments de formulaire que vous publiez. Juste correspondre les ID avec les paramètres sur le ActionResult.

Pour aller plus loin, vous seriez probablement mieux lire à propos Model Binding within ASP.Net MVC.

Questions connexes