【问题标题】:TextBox with TextMode="Date" does not show dataTextMode="Date" 的文本框不显示数据
【发布时间】:2017-05-10 08:43:57
【问题描述】:

我有一个 Gridview,其 DateTime 列定义如下:

<asp:TemplateField>
  <EditItemTemplate>
     <asp:TextBox ID="txtDate" Text='<%# Item.Date.ToShortDateString() %>' runat="server" TextMode="Date"></asp:TextBox>
  </EditItemTemplate>
  <ItemTemplate>
    <asp:Label ID="lblDate" runat="server" Text='<%# Item.Date.ToShortDateString() %>'></asp:Label>
  </ItemTemplate>
</asp:TemplateField>

日期显示在网格中,当我从网格中编辑一行时,它会正确保存。唯一的问题是“txtDate”在进入一行的“编辑模式”时不显示当前值。它显示“mm/dd/yyyy”而不是来自绑定的实际值。我不知道为什么。尽管如此,当我删除属性 TextMode="Date" 时,实际值会正确显示。

有什么想法吗?谢谢!

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    当浏览器无法解析给定日期时,Google Chrome 会出现这种情况。您也应该在浏览器的控制台中收到关于此的警告。谷歌浏览器期望格式为yyyy-MM-dd,例如:

    Item.Date.ToString("yyyy-MM-dd");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      相关资源
      最近更新 更多