2013-01-18 2 views
1

Donc, je construis une application MVC4, et je ne peux pas avoir Html.DropDownList à se comporter du tout. Tout ce que la page actuelle montre est un bouton de soumission, et il ne rend pas la liste déroulante.MVC4 DropDownList issue

C'est le contrôleur:

public ActionResult Index() { 
     var items = new SelectList(
      new[] { 
       new { Value="ships", Text="Ship" }, 
      }, 
      "Value", "Text" 
     ); 

     ViewData["tableitems"] = items; 

     return View(); 
    } 

Et ceci est la vue:

@using (Html.BeginForm("Search", "Encyclopedia", FormMethod.Get)) { 
    @*<select id="table" name="table"> 
     <option value=""></option> 
     <option value="ships">Ship</option> 
    </select>*@ 

    Html.DropDownList("table", ViewData["tableitems"] as SelectList, "Ship"); 

    <input type="submit" value="view" /> 
} 

J'ai été à la recherche en ligne pour des heures à essayer différentes permutations, mais je ne peux pas l'obtenir. Quelqu'un peut-il signaler ce que je fais mal?

+0

Avez-vous vu cela? http://stackoverflow.com/questions/3057873/how-to-write-a-simple-html-dropdownlistfor –

+0

C'était l'une des pages que je regardais, mais je ne pouvais toujours pas comprendre. –

Répondre

3

Il vous manque un @ devant la Html.DropDownList

@using (Html.BeginForm("Search", "Encyclopedia", FormMethod.Get)) { 
    @Html.DropDownList("table", ViewData["tableitems"] as SelectList, "Ship"); 
    <input type="submit" value="view" /> 
} 

Sans @, votre code est juste d'évaluer un MvcHtmlString mais pas réellement rendus à la vue, c'est là le @ entre en jeu!

+0

Je me sens comme un idiot ... Merci beaucoup !!! –

+1

Les joies de l'apprentissage :) –