2010-05-12 8 views
0

Je suis nouveau à MVC, donc désolé si je suis un peu épais. J'utilise VBSelectedValue sur liste déroulante html dans MVC

J'essaie de remplir une liste déroulante html en utilisant les données d'un db, mais le premier élément est toujours sélectionné, quoi qu'il arrive.

Qu'est-ce que je fais mal?

Voici mon code - Dans le contrôleur:

ViewData("MatchTypeList") = New SelectList(_db.GetMatchTypes.ToList(), "MatchTypeID", "MatchTypeName", SelectedValue) 

Et dans la vue

<%= Html.DropDownList("MatchType", CType(ViewData("MatchTypeList"), IEnumerable(Of SelectListItem)), "Any", New With {.class = "forminput"})%> 

Répondre

0

Ceci est un problème avec mvc. Un travail autour serait de changer le nom de la liste déroulante à n'importe quoi mais le nom de la propriété. Ensuite, avant de soumettre pour changer le nom au vrai nom de la propriété.

Un exemple:

<script type="text/javascript"> 

    $(function() { 
     $("form").submit(function() { 
      $("select").each(
       function() { 
        $(this).attr("name", $(this).attr("name").replace(/ZZZ/, '')); 
      }); 
     }); 
    }); 

</script> 

<%= Html.DropDownList("MatchTypeZZZ", CType(ViewData("MatchTypeList"), IEnumerable(Of SelectListItem)), "Any", New With {.class = "forminput"})%> 

je place le javascript (il utilise JQuery) dans ma page principale de sorte que toute forme dans l'application qui a un dropdownlist peut en toute sécurité que son nom soit ajouté avec ZZZ, puis remis à son nom d'origine lors de la soumission.

Questions connexes