2010-02-25 6 views
0

J'ai un tableau de chaînes comme ceci:DataBind une liste de mois, mais utiliser des numéros au lieu de noms

string[] month = {"Month", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; 

Je veux DataBind à un menu déroulant.

Je veux que l'utilisateur voit ces noms de mois mais quand l'utilisateur sélectionne March (par exemple), je veux utiliser le numéro 3 plutôt que "Mar".

Comment est-ce que je peux faire ceci?

Répondre

1

Probablement le meilleur moyen de le faire est simplement de faire une liste de paires de valeurs clés:

 Dictionary<string, int> myList = new Dictionary<string, int>(); 
     myList.Add("Jan", 1); 
     myList.Add("Feb", 2); 

     System.Web.UI.WebControls.DropDownList drodown = new System.Web.UI.WebControls.DropDownList(); 
     drodown.DataSource = myList; 
     drodown.DataTextField = "key"; 
     drodown.DataValueField = "value"; 
     drodown.DataBind(); 

     int monthValue = int.Parse(drodown.SelectedValue); 

c'était juste codé à la volée afin excuse toute petite erreur en elle. Mais cela devrait vous donner une bonne idée de la façon de faire ce que vous voulez.

0

hmmmm ... juste une pensée, et fonctionne.

int month = DateTime.Parse("01 "+ dropdown.SelectedValue + "2000").Month; 
Questions connexes