2012-04-11 11 views
-1

Ich habe 2 Dropdown-Listen und ich möchte sie mit ihren Werten als Stunden von 1 bis 24 zu füllen. Dann möchte ich den Unterschied zwischen den beiden ausgewählten Werten berechnen. Wenn ich in der ersten Dropdown wählen wir den Stundenwert als 12 UND zweiten Wert als 16 dann ist die Differenz 4.So füllen Sie Dropdown-Liste mit Stunden in C#

Wie kann ich das in C# erreichen?

Ich entwickle eine asp.net Web-Anwendung codiert in C#.

Unten ist der Code, wie ich meine Dropdownlist zu füllen:

DateTime Date = DateTime.Today; 
DateTime Time = DateTime.Now; 
ListItem item1 = new ListItem(Time.ToShortTimeString(), 
           Time.ToShortTimeString()); 

for (int i = 0; i <= 48; i++) 
{ 
    ListItem item2 = new ListItem(Date.ToShortTimeString(), 
           Date.ToShortTimeString()); 

    droplist.Items.Add(item2); 


    if (Date.CompareTo(Time) < 0 && Date.AddMinutes(30).CompareTo(Time) > 0) 
    droplist.Items.Add(item1); 

    Date = Date.AddMinutes(60); 
} 

Wie kann ich Werte meiner Drop-Down zuweisen, wobei Werte die Stunden?

+1

Ist das eine Hausaufgabe? – Khan

+0

Wo soll der Unterschied zwischen den beiden Dropdown-Werten angezeigt werden? – Khan

+0

Ich bin ein wenig verwirrt - Sie sagen, Sie wollen 1 bis 24, aber der Code scheint zu implizieren Sie wollen aktuelle Stunde + 24. Was ist das? – asawyer

Antwort

3

Anstatt die Datum/Uhrzeit-Zeichenfolge zum Dropdown hinzuzufügen, können Sie den Wert DateTime selbst hinzufügen. Das Dropdown-Menü zeigt seine Mitglieder an, indem es ToString() aufruft. Der Nachteil hierbei: Sie können kein anderes Zeitformat wie ToShortTimeString() verwenden.

Eine andere Möglichkeit besteht darin, die Methode DateTime.TryParse zu verwenden, um vor der Berechnung zurück zu konvertieren.

Verwandte Themen