J'essaie de créer une vue DropDownList
sur un rasoir.
Est-ce que quelqu'un m'aiderait avec ça?
Code HTML5 normal:
<select id="dropdowntipo">
<option value="Exemplo1">Exemplo1</option>
<option value="Exemplo2">Exemplo2</option>
<option value="Exemplo3">Exemplo3</option>
</select>
J'ai essayé ceci:
@{
var listItems = new List<ListItem> {
new ListItem { Text = "Exemplo1", Value = "Exemplo1" },
new ListItem { Text = "Exemplo2", Value = "Exemplo2" },
new ListItem { Text = "Exemplo3", Value = "Exemplo3" }
};
}
@Html.DropDownListFor(model =>
model.tipo,
new SelectList(listItems),
"-- Select Status --"
)
c#
asp.net-mvc
razor
user2232273
la source
la source
var listItems = ...
devrait être dans votre contrôleur pas votre vue.ListItem
car il s'agit d'un concept lié à l'interface utilisateur. Cela ne devrait même pas vraiment être dans le modèle de vue, juste dans la vue. Le contrôleur doit créer le modèle de vue, le modèle de vue doit contenir les données, la vue doit créer des éléments d'interface utilisateur (commeListItem
) sur ces données.Réponses:
la source
la source
Vous pouvez utiliser ceci:
la source
// ViewModel
// Classe Enum:
// Action du contrôleur
// voir l'action
la source
Voici la réponse la plus simple:
dans votre vue, ajoutez simplement:
OU dans votre contrôleur, ajoutez:
et votre vue ajoute simplement:
J'ai appris ça avec Jess Chadwick
la source
Croyez-moi, j'ai essayé beaucoup d'options pour le faire et j'ai la réponse ici
mais je recherche toujours les meilleures pratiques et le meilleur moyen que je connaisse à ce jour pour les développeurs front-end et back-end est
for loop
(oui je ne plaisante pas)Parce que lorsque le front-end vous donne les pages d'interface utilisateur avec des données factices, il a également ajouté des classes et des styles en ligne sur une option de sélection spécifique, donc c'est
hard to deal
avec l'utilisationHtmlHelper
Regardez ceci:
ceci du développeur front-end, donc la meilleure solution est d'utiliser la boucle for
fristly
create
ouget your list
des données de (...) dans l'Action du contrôleur et placez-le dans ViewModel, ViewBag ou autreDeuxièmement, dans la vue, faites cette simple boucle for pour remplir la liste déroulante
de cette façon, vous ne casserez pas la conception de l'interface utilisateur, et sa simplicité, sa facilité et sa lisibilité
j'espère que cela vous aidera même si vous n'avez pas utilisé de rasoir
la source
L'utilisation d'un tableau serait un peu plus efficace que la création d'une liste.
la source
Référez-vous: - Créer une liste déroulante dans l'exemple de rasoir MVC 4
la source
utilise juste ça
et dans View, utilisez ce qui suit.
si vous souhaitez obtenir des données à partir de l'ensemble de données et remplir ces données dans une zone de liste, utilisez le code suivant.
et en vue, écrivez le code suivant.
la source
Si vous utilisez ASP.net 5 (MVC 6) ou une version ultérieure, vous pouvez utiliser les nouveaux Tag Helpers pour une très belle syntaxe:
la source
Cela peut également être fait comme
la source
la source