Croyez-moi, j'ai essayé beaucoup d'options pour faire cela. et j'ai la réponse ici
mais je recherche toujours les meilleures pratiques et la meilleure méthode que je connaisse à ce jour pour les développeurs frontaux et dorsaux est la suivante for loop
(oui, je ne plaisante pas)
Parce que lorsque le front-end vous donne les pages de l'interface utilisateur avec des données factices, il a également ajouté des classes et des styles en ligne sur des options de sélection spécifiques, de sorte que ses hard to deal
en utilisant HtmlHelper
Regardez ça :
<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>
ceci de la part du développeur frontal, donc la meilleure solution est d'utiliser la boucle for.
Fristly create
ou get your list
des données de (...) dans l'action du contrôleur et les mettre dans le ViewModel, le ViewBag ou n'importe quoi d'autre.
//This returns object that contain Items and TotalCount
ViewBag.MembershipList = await _membershipAppService.GetAllMemberships();
Ensuite, dans la vue, faites cette simple boucle for pour remplir la liste déroulante.
<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 briserez pas le design de l'interface utilisateur, qui est simple, facile et plus lisible.
J'espère que cela vous aidera même si vous n'avez pas utilisé de rasoir.