数字格式化输出 DataFormatString
DataFormatString="{0:yyyy-MM-dd}"和DataFormatString="{0:d}"的有区别吗,加上HtmlEncode="False"起...
DataFormatString="{0:yyyy-MM-dd}" 和 DataFormatString="{0:d}"的有区别吗,加上HtmlEncode="False"起到什么作用,不加会有什么情况呢
展开
1个回答
展开全部
DataFormatString="{0:yyyy-MM-dd}" 和 DataFormatString="{0:d}"有区别的。DataFormatString="{0:yyyy-MM-dd}"显示出来的日期格式是定的,比如今天显示2013-05-15。而DataFormatString="{0:d}"在不同电脑上显示出来的日期格式可能不一样,它表示精简日期格式。而精简日期格式是什么样子,就不能一概而论。在日历设定里,有个短日期格式设定,那里设定成什么,这个精简日期格式就是什么。比如,我电脑上现在设置的短日期格式是yyyy/M/dd,那么DataFormatString="{0:d}"格式下今天将显示2013/5/15;将我电脑上现在设置的短日期格式改成MM-dd-yyyy后,DataFormatString="{0:d}"格式下今天将显示为05-15-2013。
至于HtmlEncode="False",我查过很多资料,说是必须与DataFormatString配套使用,如果没有这一句,DataFormatString设定的日期格式将不起作用。这些结论可能是针对VS2008及以前的版本吧。我用VS2010做过试验,无论有没有HtmlEncode="False",DataFormatString都能起作用,可能是VS2010做的优化吧。
HtmlEncode属性本身的意义就是对字段内容要不要做转义(如果为HtmlEncode="True",则需要进行转义)。转不转义是针对特殊字符,而日期里一般不存在特殊字符,所以VS2010里针对日期格式的设定时,对HtmlEncode就不做要求了吧。
至于HtmlEncode="False",我查过很多资料,说是必须与DataFormatString配套使用,如果没有这一句,DataFormatString设定的日期格式将不起作用。这些结论可能是针对VS2008及以前的版本吧。我用VS2010做过试验,无论有没有HtmlEncode="False",DataFormatString都能起作用,可能是VS2010做的优化吧。
HtmlEncode属性本身的意义就是对字段内容要不要做转义(如果为HtmlEncode="True",则需要进行转义)。转不转义是针对特殊字符,而日期里一般不存在特殊字符,所以VS2010里针对日期格式的设定时,对HtmlEncode就不做要求了吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询