0

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

我想要一个包含时间选择器的日期选择器。我不想要任何花哨的装饰等,只是有用的东西。最好是一个控件,我可以将其拖入工具箱中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不是文本框的支持成员。这是我遇到的代码。我对编码很陌生。

4

3 回答 3

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)

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

注意末尾的 0 代表秒。

这应该很好地保存到数据库中。

有关 DateTime 的更多信息,请参见此处

于 2013-04-22T19:50:02.887 回答
0

如果 jQuery 是一个选项,我会看看这个插件

干净且易于实施

于 2013-04-22T19:13:36.023 回答
0

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

我们在我们的项目中使用Telerik 的RadDateTimePicker(当然还有其他商业产品)。有关日期时间选择器控件的演示,请参阅此页面

于 2013-04-22T20:03:16.493 回答