-
ASP.NET之GridView Eval() 中数据格式化或格式化数据
网络 2015/8/28 10:45:351、 为什么设置了DataFormatString没有效果?
不要忽略BoundField的两个重要属性HtmlEncode和ApplyFormatInEditMode。
HtmlEncode
GridView 使用的 BoundField 与 DataGrid 使用 BoundColumn 不同,BounField 提供了一个 HtmlEncode 属性,提供是否对数据进行HTML编码,降低了 BoundColumn 潜在的Html &Script 嵌入攻击,默认该值是启用的。如果要使用格式化输出,应该关闭此属性。
<asp:BoundField DataField="HireDate" DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false" HeaderText="HireDate" /> ApplyFormatInEditMode
默认情况下,只有当数据绑定控件处于只读模式时,格式化字符串才能应用到字段值。当数据绑定控件处于编辑模式时,若要将格式化字符串应用到显示的值,应该同时将 ApplyFormatInEditMode 属性设置为 true。
<asp:BoundField DataField="HireDate" DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false" HeaderText="HireDate" ApplyFormatInEditMode="true" />
2、 DataFormatString的格式
格式化字符串可以为任意字符串,并且通常包含字段值的占位符。
例如:DataFormatString="aaa{n:bbb}ccc" ,其中的aaa和ccc表示任意的字符串;n是从零开始的参数列表中的字段值的索引,因为每个单元格中只有一个字段值,所以n通常为0;bbb为格式字符串代表所们希望数据显示的格式。
3、 GridView数据常用格式化类型
数字 {0:N2} 12.36
数字 {0:N0} 13
数字 {0:D} 12345 12345
数字 {0:D8} 12345 00012345
数字 {0:F} 12345.6789 12345.68
数字 {0:F0} 12345.6789 12346
数字 {0:G} 12345.6789 12345.6789
数字 {0:G7} 123456789 1.234568E8
货币 {0:c2} $12.36
货币 {0:c4} $12.3656
货币 "¥{0:N2}" ¥12.36
科学计数法 {0:E3} 1.23E+001
百分数 {0:P} 12.25%
日期 {0:D} 2006年11月25日
日期 {0:d} 2006-11-25
日期 {0:f} 2006年11月25日 10:30
日期 {0:F} 2006年11月25日 10:30:00
日期 {0:s} 2006-11-26 10:30:00
时间 {0:T} 10:30:00
时间 {0:t} 10:30
阅读(2924) 分享(0)
上一篇: ASP.NET Eval四种绑定方式
下一篇: ASP语言使用淘宝接口遇中文字符签名失败解决方法