GridView实现自定义时间货币等字符串格式

在asp.net 2.0中,如果要在绑定列中显示比如日期格式等,如果用下面的方法是显示不了的

  1. <asp:BoundField DataField="Birthday" HeaderText="生日" DataFormatString="{0:yyyy年M月dd日}" />

主要是由于htmlencode属性默认设置为true,已防止XSS攻击,安全起见而用的,所以,可以有以下两种方法解决

1、

  1. <asp:BoundField DataField="Birthday" HeaderText="生日" DataFormatString="{0:yyyy年M月dd日}" HtmlEncode="false" />

将htmlencode设置为false即可

2、另外的解决方法为,使用模版列

  1.                 <asp:TemplateField HeaderText="生日">
  2.                     <ItemTemplate>
  3.                         <asp:Label ID="Label1" runat="server" Text='<%# Eval("Birthday", "{0:M-dd-yyyy}") %>'></asp:Label>
  4.                     </ItemTemplate>
  5.                 </asp:TemplateField>

附录-常用格式化公式:
        {0:C}货币;
        {0:D4}由0填充的4个字符宽的字段中显示整数;
        {0:000.0}四舍五入小数点保留第几位有效数字;
        {0:N2}小数点保留2位有效数字;
        {0:N2}%小数点保留2位有效数字加百分号;
        {0:D}长日期;
        {0:d}短日期;
        {0:yy-MM-dd}例如07-3-25;
        {0:yyyy-MM-dd}例如2007-3-25;


你可能感兴趣的:(GridView实现自定义时间货币等字符串格式)