【问题标题】:Why time does not show when I pass a List(of Date) as datasource for a Repeater为什么当我将 List(of Date) 作为中继器的数据源传递时不显示时间
【发布时间】:2022-01-15 13:21:35
【问题描述】:

英语不是我的第一语言。

我想将 List(of Date) 绑定到 Repeater 控件。我选择任何一天,然后用一天中的 24 小时填写一份清单。然后,当我将该列表作为 RepeaterDatasource 传递时,我希望看到:'12/10/2021 12:00:00 am', '12/10/2021 01:00:00 am', '12/10/2021 02:00 am', '12/10/2021 03:00:00 am' 等。但不是列表呈现为:'12/10/2021 12:00:00 am'、'12/10/2021 12:00:00 am'、'12/10/2021 12:00:00 am'、'12 /10/2021 12:00:00 am'

当您将 list(of date) 作为控件的 datasource 传递时,为什么缺少 Time 部分

我的代码:

Dim dDate As Date = Date.Now
Dim oHours As New List(Of Date)
For i As Integer = 0 To 23
    oHours.Add(New Date(dDate.Year, dDate.Month, dDate.Day, i, 0, 0))
Next

With Repeater1
    .Datasource = oHours
    .Databind()
End With

标记:

 <asp:Repeater ID="Repeater1" runat="server">
      <ItemTemplate>
           <div>
                <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("Date")%>'>                        
                     <%# Eval("Date")%>                                                  
                 </asp:LinkButton>                      
            </div>
       </ItemTemplate>
 </asp:Repeater>

【问题讨论】:

  • Eval("Date") 将只回显没有时间信息的日期。您需要格式化输出或使用函数。
  • Eval("Date").toString("MM/dd/aaaa hh:mm") 也一样,输出日期部分但忽略时间部分

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


【解决方案1】:

尝试将 Now() 传递给您的 dim 语句,如下所示: 将 dDate 调暗为 Date = Now()

我认为 Date.Now 只看到 Date 标签。

【讨论】:

    猜你喜欢
    • 2010-12-29
    • 1970-01-01
    • 2023-04-03
    • 2017-09-11
    • 2020-09-26
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    相关资源
    最近更新 更多