Question

J'essaie de lier une liste déroulante dans ASP.NET MVC à une classe. Heureusement pour moi, ce sera un nombre compris entre 1 et 10, mais je ne reçois pas la sortie dans mon code HTML comme je l’attendrais. J'ai défini à la fois les propriétés value et text qui sont renseignées correctement dans la vue, mais la valeur sélectionnée refuse de s'afficher. Ceci est dans la méthode d'édition initiale de mon contrôleur. Des idées?

    Dim SC As SuperCategory = Model.Fast.Pull(DB.SuperCategory, ID)

    Dim list As New List(Of SelectListItem)
    list.Add(New SelectListItem With {.Value = 1, .Text = "1", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 2, .Text = "2", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 3, .Text = "3", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 4, .Text = "4", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 5, .Text = "5", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 6, .Text = "6", .Selected = True})
    list.Add(New SelectListItem With {.Value = 7, .Text = "7", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 8, .Text = "8", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 9, .Text = "9", .Selected = (.Value = SC.Sort)})
    list.Add(New SelectListItem With {.Value = 10, .Text = "10", .Selected = (.Value = SC.Sort)})

    ViewData("Sort") = list

Le code HTML dans la vue ressemble à ceci:

Trier:        <% = Html.DropDownList (& "Trier &"; CType (ViewData (& "Trier &";)), IEnumerable (Of SelectListItem))% gt;

Était-ce utile?

La solution

Si ViewData["Sort"] implémente IEnumerable<SelectListItem>, le second paramètre n'est pas nécessaire. Avez-vous essayé ceci:

<%= Html.DropDownList("Sort") %>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top