我有一个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”时,实际值会正确显示。
有什么想法吗?谢谢!
答案 0 :(得分:5)
当浏览器无法解析指定日期时,会在Google Chrome中发生这种情况。你也应该在浏览器的控制台中收到关于它的警告。谷歌浏览器希望格式为yyyy-MM-dd
,例如:
Item.Date.ToString("yyyy-MM-dd");