2012-04-11 102 views
-1

我必须2下拉列表,我想用它们的值填充它们的值,时间从1到24。然后我想计算两个选定值之间的差异。如果我在第一个下拉列表中选择,我们假设小时值为12,第二个值为16,那么差异将为4.如何在C中使用小时填充下拉列表#

我该如何在c#中实现这一点?

我正在开发一个编码在C#中的asp.net web应用程序。

下面是我如何填充我的下拉列表中的代码:

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); 
} 

我怎样才能赋值到我的下拉列表中,值作为时间?

+1

这是一个家庭作业吗? – Khan 2012-04-11 12:35:25

+0

您想在哪里显示两个下拉值之间的差异? – Khan 2012-04-11 12:36:15

+0

我有点困惑 - 你说你想要1到24,但代码似乎暗示你想要当前小时+ 24。这是什么? – asawyer 2012-04-11 12:36:34

回答

3

而不是将日期/时间字符串添加到下拉列表中,您可以添加DateTime值本身。下拉菜单通过呼叫ToString()显示其成员。这里的缺点:你不能使用其他时间格式,如ToShortTimeString()

另一种方法是在计算之前使用DateTime.TryParse方法进行转换。