ASP.net中的日期和时间选择器

时间:2013-04-22 18:49:25

标签: asp.net vb.net datetime calendar timepicker

我知道这个问题已经有几次了,但我找不到合适的答案。

我想要一个包含时间选择器的日期选择器。我不想要任何花哨的装饰等,只是有用的东西。优选地,一个控件可以拖动到VS中的工具箱中,在顶部注册并使用。过去几天我一直在玩很多版本而且我无法上班。它们通常似乎包含太多文件给我或愚蠢的东西。我正在研究的一个项目现在取决于这个愚蠢的事情,所以任何建议都会受到欢迎。我以前设法得到一个日历控件,并在文本框上进行一些验证以选择时间。但是我不能同时使用这两个值并将它们输入到我的数据库中,因为当我尝试使用“选定日期”来获取时间时,它自然地说文本框不能成为“选定的 - 日期“财产。

因为我有一个日历控件来选择日期和一个经过验证的文本框,以便在我尝试使用以下代码时输入。

Protected Sub Button1_Click(sender As Object, e As EventArgs)
    Dim time As String() = txtTime.SelectedDate.ToString().Trim().Split(" "C)
    Dim [date] As String() = cldDate.SelectedDate.ToString().Trim().Split(" "C)
    Dim datetime__1 As String = [date](0) & " " & time(1) & time(2)
    Dim DateTimeValue As DateTime = DateTime.Parse(datetime__1)
    Response.Write(DateTimeValue.ToString())
    ' Update database with DateTimeValue.  
End Sub

代码txtTime.SelectedDate.ToString()是一个问题。它说SelectedDate不是文本框支持的成员。这是我遇到的代码。我很擅长编码。

3 个答案:

答案 0 :(得分:2)

您可以创建DateTime结构的新实例。 DateTimePicker.SelectedValue返回Nullable(Of DateTime),因此您可以使用此值创建新的DateTime(以及文本框中的值)。

例如:

Dim myDateTime As New DateTime(cldDate.SelectedDate.Year, cldDate.SelectedDate.Month, cldDate.SelectedDate.Day, HourValue, MinuteValue, 0)

只需将HourValueMinuteValue替换为文本框中的值即可。请注意,您应将这些转换为整数。

注意最后的0表示秒。

这应该保存到数据库中。

有关DateTime的更多信息,请参阅here

答案 1 :(得分:0)

如果jQuery是一个选项我会look at this plug in

干净且易于实施

答案 2 :(得分:0)

您没有提及商业产品是否适合您。

我们在项目中使用telerik的RadDateTimePicker(当然还有其他商业产品)。 See this page用于日期时间选择器控件的演示。