详细信息 View 中的 ASP.NET 日期格式

标签 asp.net bind date-format detailsview

这个错误让我很害怕。事实证明,DetailsView 中的日期格式是错误的。这似乎是一个非常明显的错误,因为您只需应用 DataFormatString,但正如您所看到的,我已经这样做了。我尝试过格式 {0:d} 和 {0:dd/MM/yyyy},并尝试将 BoundFields 替换为 TemplateField,其中我使用 Bind 函数并将格式字符串作为第二个参数。它显示正确的日期,但格式为 dd/MM/yyyy hh:mm:ss。

<asp:DetailsView DataSourceID="SqlDataSource1" runat="server" DefaultMode="Edit" AutoGenerateRows="false" ID="EditView" DataKeyNames="id" CssClass="editing-padding" AutoGenerateEditButton="true" OnModeChanging="EditView_ModeChanging" OnItemUpdating="EditView_ItemUpdating">
    <Fields>
        <asp:BoundField HeaderText="Startdato" DataField="start_time" DataFormatString="{0:dd/MM/yyyy}"/>
        <asp:BoundField HeaderText="Slutdato" DataField="end_time" DataFormatString="{0:dd/MM/yyyy}"/>
        <asp:TemplateField>
            <HeaderTemplate>
                Kommentar
            </HeaderTemplate>
            <EditItemTemplate>
                <asp:TextBox ID="commentBox" runat="server" Text='<%# Bind("comment") %>' TextMode="MultiLine" Width="300" Height="150"></asp:TextBox>
            </EditItemTemplate>
        </asp:TemplateField>
    </Fields>
    <RowStyle BackColor="White" />
</asp:DetailsView>

感谢您的帮助

最佳答案

默认情况下,BoundField 似乎仅在只读模式下应用 DataFormatString 指定的格式。尝试将 ApplyFormatInEditMode="true" 属性应用到 BoundField,如下所示:

<asp:BoundField HeaderText="Slutdato"
DataField="end_time" 
DataFormatString="{0:dd/MM/yyyy}" 
ApplyFormatInEditMode="true" />

希望对我有帮助,对我有用。

关于详细信息 View 中的 ASP.NET 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17176341/

相关文章:

ASP.NET MVC,帐户模型 : How to make relations to it?

c# - Repeater 中的 Repeater(基于 ajax 的网络应用程序)

jquery - 动态添加多个jquery ui datepickers到页面

java - Java中日期的转换

date - 如何舍入 Pandas `DatetimeIndex` ?

java - 为什么这些日期相差 1 天?

c# - ASP.NET 中的自制 MessageBox.Show()

c# - 运行时 ASP.NET 确认对话框

javascript - 如何停止绑定(bind)每个处理程序并声明变量 'that'

C++ boost::bind 占位符位置