带有TextMode ="Date"的TextBox不显示数据

Dia*_*ana 1 c# asp.net

我有一个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>
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?谢谢!

Vin*_*789 5

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

Item.Date.ToString("yyyy-MM-dd");
Run Code Online (Sandbox Code Playgroud)