8
votes

Dropdown pour les 10 prochaines années

Quelle est la meilleure façon de faire une liste déroulante dans le MVC4 (vue) qui montrent l'année en cours plus 10 prochaines années? Devrais-je faire une énumération, puis inclure-le dans mon modèle de vue et faire une variable de ce type d'enum?


2 commentaires

Avez-vous essayé quelque chose? Peut-être une boucle de départ à partir de DateTime.Now.year et incrémentation 9 fois. Que pensez-vous de la syntaxe de rasoir?


Votre solution ENUM nécessiterait un redéployeur de votre application tous les 31 décembre.


4 Réponses :


17
votes
Enumerable.Range(DateTime.Now.Year, 10)
will give you numbers that you can then use in the SelectList() constructor for your DropDownList

0 commentaires

9
votes

Lorsque vous utilisez Enum pour cela, il sera correctement codé. Fin de l'année, vous devriez mieux utiliser la solution.SO mieux utiliser comme code suivant dans votre couche d'entreprise et appuyez sur la couche de visualisation, puis en fonction de la date de serveur chaque utilisateur. peut revenir sur les 10 prochaines années.

 IList<int> years= Enumerable.Range(DateTime.Now.Year, 10).ToList();


0 commentaires

4
votes

Pour RAZOR, vous pouvez utiliser le code suivant

@Html.DropDownList("Year", Enumerable.Range(DateTime.Now.Year, 10).ToList(), "-- Select Year --")


0 commentaires

1
votes

Ajouter "Nouvelle sélection de sélection":

@ html.dropdownlist ("Année", nouvelle sélection de sélection (Enumérable.Range (DateTime.NOW.Year, 10) .tolist ()), "- Sélectionner une année -")


2 commentaires

S'il vous plaît payer au moins de base attention pour formater votre réponse. Sinon, vous risquez des bowvotes.


De plus, cela ne permettra guère de poster une nouvelle réponse à une question de deux ans avec une réponse acceptée .