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

标签 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>

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

有什么想法吗?谢谢你!

最佳答案

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

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

关于c# - 带有 TextMode ="Date"的 TextBox 不显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43887529/

相关文章:

.net - 如何检测 .Net 应用程序类型?

c# - 未处理的异常 : System. ArgumentException : Unable to find the requested .Net Framework 数据提供程序。它可能没有安装

asp.net - DropDownList 不会在 SelectedIndexChanged 上回发

c# - 如何从(c#)windows应用程序填充html文本框

c# - ComboBox 在加载 Window 之前更改

c# - WCF 数据服务 - 客户端正在缓存结果

c# - TickCount 重置事件?

c# - 通过单击超链接打开文件不起作用

c# - ASP.NET 动态添加列到 Gridview

javascript - 使用javascript更改文档的背景颜色