Croyez-moi j'ai essayé beaucoup d'options pour faire and I have answer here
mais je cherche toujours les meilleures pratiques
et la meilleure façon savoir jusqu'à présent pour les développeurs frontend et backend est for loop
(oui, je ne plaisante pas)
parce que quand le front-end vous donne l'interface utilisateur Pages avec des données factices, il a également ajouté des classes et des styles en ligne sur l'option de sélection spécifique de sorte que son hard to deal
avec qu'utiliser HtmlHelper
look prendre à ce
<select class="input-lg" style="">
<option value="0" style="color:#ccc !important;"> Please select the membership name to be searched for </option>
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
</select>
ce à partir du développeur frontal donc meilleure solution est d'utiliser la boucle for
fristly create
ou get your list
de données fr om (...) dans l'action du contrôleur et le mettre dans ViewModel, ViewBag ou tout
ViewBag.MembershipList = await _membershipAppService.GetAllMemberships();// this returns object that contain Items and TotolCount
En second lieu dans la vue simple pour faire cette boucle pour remplir le dropdownlist
<select class="input-lg" name="PrerequisiteMembershipId" id="PrerequisiteMembershipId">
<option value="" style="color:#ccc !important;"> Please select the membership name to be searched for </option>
@foreach (var item in ViewBag.MembershipList.Items)
{
<option value="@item.Id" @(Model.PrerequisiteMembershipId == item.Id ? "selected" : "")>@item.Name</option>
}
</select>
de cette façon vous ne cassera pas d'interfaces utilisateur, et son simple, facile et plus lisible
espérons que cette aide vous, même si vous ne l'avez pas utilisé rasoir
votre 'var listItems = ...' doit être dans votre contrôleur pas votre vue . – Liam
c'est MVC3 mais c'est la même syntaxe que MVC4: http://stackoverflow.com/questions/5070762/mvc3-razor-html-dropdownlistfor – Liam
@Liam: Il appartient probablement au modèle de vue, pas au contrôleur. Le contrôleur ne devrait pas avoir de dépendance sur 'ListItem' car c'est un concept lié à l'interface utilisateur. Il ne devrait même pas _really_ être dans le modèle de vue, juste dans la vue. Le contrôleur doit construire le modèle de vue, le modèle de vue doit contenir les données, la vue doit construire des éléments d'interface utilisateur (comme 'ListItem') avec ces données. – David