114 votes

Html.DropdownListFor la valeur sélectionnée n'est pas définie

Comment puis-je définir la valeur sélectionnée d'un Html.DropDownListFor? J'ai cherché en ligne et j'ai vu que cela peut être réalisé en utilisant le quatrième paramètre comme ci-dessous :

@Html.DropDownListFor(m => m, new SelectList(Model, "Code", "Name", 0),  "Veuillez sélectionner un pays")

Ma liste déroulante s'affiche alors comme ceci :

     Veuillez sélectionner un pays
     Royaume-Uni
     États-Unis
     ...

Mais pour une raison quelconque, le Royaume-Uni reste sélectionné mais je veux que "Veuillez sélectionner un pays" soit sélectionné.

Quelqu'un sait comment je peux y arriver?

MISE À JOUR

J'ai mis à jour mon code car il y avait un léger changement dans la fonctionnalité cependant je continue à rencontrer ce problème. Voici ce qui se trouve dans ma vue :

@Html.DropDownListFor(n => n.OrderTemplates, new SelectList(Model.OrderTemplates, "OrderTemplateId", "OrderTemplateName", 1), "Veuillez sélectionner un modèle de commande")

1 est l'id de l'option que je veux sélectionnée, j'ai également essayé avec le texte de l'option mais cela ne fonctionne pas non plus.

Des idées?

0voto

MEO Points 31
public byte UserType
public string SelectUserType

Vous devez en obtenir un et en définir un autre. La valeur sélectionnée ne peut pas être le même élément que celui que vous êtes sur le point de définir.

@Html.DropDownListFor(p => p.SelectUserType, new SelectList(~~UserTypeNames, "Key", "Value",UserType))

J'utilise un dictionnaire Enum pour ma liste, c'est pourquoi il y a une paire "clé", "valeur".

0voto

Arun Prasad E S Points 3375

J'avais un problème similaire, j'utilisais le ViewBag et le nom de l'élément comme étant le même. (Erreur de frappe)

0voto

naz hassan Points 61

Ceci concerne les problèmes de CSS. Je ne sais pas pourquoi @Html.DropDownListFor ne fonctionne pas dans Bootstrap 4. C'est sûrement un problème de conception de classe. Quoi qu'il en soit, la solution de contournement est la suivante : si votre zone de saisie de menu déroulant a un élément CSS Padding: #px, # px; alors désactivez-le. J'espère que cela fonctionnera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X