我正在尝试这个:
cin >> decimal_number
时间戳显示正确 - 但是当我进入编辑模式时,我会从一个装满占位符的文本框开始。因此,<asp:GridView ID="GridView1" runat="server" DataSourceID="ReleasesDataSource"
AutoGenerateColumns="False" AllowPaging="true" AllowSorting="true"
AutoGenerateEditButton="true" AutoGenerateDeleteButton="true" PageSize="35"
ShowFooter="True" ShowHeaderWhenEmpty="True">
<Columns>
<asp:TemplateField HeaderText="Release timestamp">
<ItemTemplate>
<asp:Label ID="preTimeLabel" runat="server" Text='<%# Eval("preTime") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="preTimeTextBox" runat="server" Text='<%# Bind("preTime"") %>' TextMode="DateTimeLocal"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
............
的{{1}}字段中的当前DateTime
- 值未按我期望的preTime
preTime`-Field进行评估。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
如果您想要包含时间,则需要Bind("preTime", "{0:yyyy-MM-dd}")
或Bind("preTime", "{0:yyyy-MM-ddTHH:mm}")
才能解决此问题。
答案 1 :(得分:0)
尝试
<asp:TextBox ID="preTimeTextBox" runat="server" Text='<%# Convert.ToDateTime(Bind("preTime")).ToString("d") %>'></asp:TextBox>
另一种解决方案是为网格中的TextBox实现OnDataBinding事件。
protected void txtDate_OnDataBinding(object sender, System.EventArgs e)
{
TextBox txt = (TextBox)(sender);
txt.Text = (DateTime)(Bind("YourDateField")).ToString("MM/dd/yyyy");
}