【问题标题】:Date format without time in ASP.NET GridviewASP.NET Gridview 中没有时间的日期格式
【发布时间】:2014-03-17 08:38:48
【问题描述】:

在 ASP.NET gridview 中绑定两个日期。我想显示dd/MM/yyyy,但它显示10/03/2014 00:00:00

<asp:TemplateField HeaderText ="Fromdate" >
   <ItemTemplate >
   <asp:Label ID="lblFromDate" runat="server" 
              DataFormatString="{0:dd/MM/yyyy}" 
              HtmlEncode="false"  
              Text='<%# Eval("Fromdate") %>' />
    </ItemTemplate>
</asp:TemplateField>

【问题讨论】:

    标签: c#


    【解决方案1】:

    DataFormatStringBoundField 控件的属性,不会影响任何其他控件。您可以在Eval 表达式中指定格式:

    Text='<%# Eval("Fromdate", "{0:dd/MM/yyyy}") %>' />
    

    【讨论】:

    【解决方案2】:

    根据this article on MSDN,DataFormatString 属性对 DateTime 数据的变体数量有限。

    你要找的是:

    DataFormatString="{0:d}"
    

    这是short date pattern

    为了获得dd/MM/yyyy 格式,您还需要正确设置您的文化信息(例如**en-GB**)。

    【讨论】:

    • 如果您正在编辑该单元格,则格式将更改为原始格式。为防止出现这种情况,请添加 ApplyFormatInEditMode="true" 和 DataFormatString="{0:d}"
    【解决方案3】:

    我在字段的DataFormatString 属性上使用{0:dd/MM/yyyy} 实现了它

    效果很好

    【讨论】:

      【解决方案4】:

      DataFormatStringBoundField 控件的属性,不会影响任何其他控件。您可以在Eval 表达式中指定格式:

      Text='<%# Eval("Fromdate", "{0:dd/MM/yyyy}") %>' />
      

      【讨论】:

        【解决方案5】:
        <asp:TemplateField HeaderText="Fromdate">    
             <ItemTemplate>    
                   <asp:Label ID="lblFromdate" runat="server"
                         Text='<%#Eval("Fromdate", "{0:dd/MM/yyyy}") %>'></asp:Label>
              </ItemTemplate>
        </asp:TemplateField>
        

        【讨论】:

          【解决方案6】:

          块引用

          Eval("日期","{0:dd-MM-yyyy}") %>' />

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-06-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-11-28
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多