【发布时间】:2023-09-15 19:06:01
【问题描述】:
在 ASP.Net DetailsView 中有一个名为 LateTimeArrivedAtSchool 的模板字段。此字段的数据来自 SQL Server 时间列。数据库中的数据以小时、分钟和秒的形式存储。
我们希望仅显示小时和分钟。
这是模板字段的标记:
<asp:TemplateField HeaderText="Late Time Arrived At School:" SortExpression="LateTimeArrivedAtSchool">
<EditItemTemplate>
<asp:TextBox ID="TextBoxLateTimeArrivedAtSchool" runat="server"
Text='<%# Bind("LateTimeArrivedAtSchool") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBoxLateTimeArrivedAtSchool" runat="server"
Text='<%# Bind("LateTimeArrivedAtSchool") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="LabelLateTimeArrivedAtSchool" runat="server"
Text='<%# Bind("LateTimeArrivedAtSchool", "{0:hh:mm}") %>'></asp:Label>
</ItemTemplate>
<ItemStyle ForeColor="Blue" />
</asp:TemplateField>
使用“{0:hh:mm}”会产生一个错误,指出“输入字符串的格式不正确。”
您能告诉我我们需要在 Bind 语句中使用什么吗?
* 更新 * 我将该列的 SQL Server 数据类型从 Time 列更改为 DateTime 列,并且能够显示数据的仅时间部分。
【问题讨论】:
-
你可以看看这个question。它展示了如何在 aspxControls 中使用 Binding 格式
标签: asp.net markup detailsview time-format