在GridView中编辑时,从日期类型列隐藏时间值

时间:2016-04-28 16:38:46

标签: c# asp.net date datetime gridview

我有一个GridView,显示日期为“dd-mm-yyyy”,这就是我想要的,但在编辑时我得到“dd-mm-yyyy 00:00:00”。由于我使用的是日期数据类型,因此我不想在编辑时包含时间,因为我的日期验证只接受“dd / mm / yyyy”。我使用了错误的数据类型还是需要更改此行?

<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("GameDate") %>'></asp:TextBox>

此GridView正在从数据库中获取数据。

3 个答案:

答案 0 :(得分:1)

使用格式

<%# (DateTime.Parse(Eval("GameDate").ToString()).ToString("MM/dd/yyyy")) %>

答案 1 :(得分:1)

我假设GridView字段是模板字段?如果是这样,试一试:

  <asp:TemplateField HeaderText="Game Date" SortExpression="GameDate">
    <EditItemTemplate>
      <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("GameDate","{0:MM-dd-yyyy}") %>' ID="TextBox1"></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
      <asp:Label runat="server" Text='<%# Bind("GameDate", "{0:MM-dd-yyyy}") %>' ID="Label1"></asp:Label>
    </ItemTemplate>
  </asp:TemplateField>

答案 2 :(得分:0)

Convert(varchar(30),GameDate,103) as GameDate

在数据库选择查询中使用convert函数。它会消除时间。