Je passe List<SelectListItem>
à la vue via ViewBag
. La liste déroulante "Groupes" apparaît mais le libellé "Organisations" et la liste déroulante n'apparaissent pas.liste déroulante ne pas montrer sur vue
Je souhaite afficher un contrôle déroulant vide si le viewbag
ne contient aucun groupe/org.
Que se passe-t-il qui ne fait pas apparaître la 2ème étiquette et la liste déroulante?
<div class="editor-label">
@Html.LabelFor(model => model.Group)
</div>
@{
var groupList = ViewBag.Group as List<Helpdesk.Models.GroupModel>;
if (groupList != null && groupList.Count > 0)
{
var groupItems = new SelectList(groupList, "ID", "Name");
<div class="dropdown-field">
@Html.DropDownListFor(model => model.Group.ID, @groupItems)
@Html.ValidationMessageFor(model => model.Group.ID)
</div>
}
else { <select /> }
}
<div class="editor-label">
@Html.LabelFor(model => model.Organization)
</div>
@{
var orgList = ViewBag.OrgList as List<Helpdesk.Models.OrganizationsModel>;
if (orgList != null && orgList.Count > 0)
{
var orgItems = new SelectList(orgList, "ID", "Name");
<div class="dropdown-field">
@Html.DropDownListFor(model => model.Organization.ID, @orgItems)
@Html.ValidationMessageFor(model => model.Organization.ID)
</div>
}
else { <select /> }
}
Pourquoi utiliser l'instruction if if else – Tassadaque
pour vérifier si le viewbag est nul ou s'il ne contient aucun élément – Bahamut
Ajouter un point d'arrêt à la deuxième partie dans la vue Razor et le déboguer. Vérifiez également le code HTML résultant en tant que source, peut-être que le navigateur n'aime pas un élément de sélection à fermeture automatique sans contenu. –