【问题标题】:Date and Time picker in ASP.netASP.net 中的日期和时间选择器
【发布时间】:2013-04-22 18:49:25
【问题描述】:

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

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

【问题讨论】:

  • 从文本框中输入时间有什么问题?您可以使用一些 javascript 在输入前两个数字后插入 :,然后使用正则表达式进行验证。
  • @JackPettinger 请查看已编辑的问题。它应该让您更好地了解问题

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


【解决方案1】:

您可以创建 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

【讨论】:

  • 我目前正在处理这个建议。我有我的时间文本框,所以我现在尝试放入两个下拉列表,以便用户可以选择小时和分钟。我必须将字符串解析为整数。希望应该能够尽快测试并回复您。谢谢
  • 那行得通。一旦我弄清楚如何解析它等它就起作用了。为帮助干杯。
【解决方案2】:

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

干净且易于实施

【讨论】:

  • 谢谢。我已经创建了它提到的页面。我现在对如何在我的页面上实际调用它感到有点困惑。有什么建议吗?
  • 1.为您的页面添加一个文本框以显示日期时间 2. 给它一个 jquery-able 名称(id/class/data 标签) 3. 将库添加到您的代码中并包含在页面上 4. 调用方法将文本框设置为如果您需要一个完整的示例,我很乐意提供一个日期时间选择器,但我更愿意朝正确的方向推进。
【解决方案3】:

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

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

【讨论】:

  • 我对此进行了研究,它看起来确实是一个很棒的控件,但不幸的是,为控件付费不是一种选择。我的意思不是听起来像一个便宜的滑板,但我正在这里做一个 uni 项目,所以它不适合购买控件。不过谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
相关资源
最近更新 更多