zoukankan      html  css  js  c++  java
  • VS2005下BoundField的DataFormatString不起作用了?

    原因: 项目做好后,客户的服务器安装的是英文操作系统,原来正常显示的时间格式都不大友好了,显示成了 1/8/2008 3:26:03 PM  , 因此需要对时间格式进行设置一下,最后正确显示的结果是:2007-12-24 10:32:14

    <asp:TemplateField>
        <ItemTemplate>
        [<%# DataBinder.Eval(Container, "DataItem.UpdateTime", "{0:yyyy-MM-dd HH:mm:ss}")%>]
        </ItemTemplate>
        <ItemStyle CssClass="grdStyle" Width="135px" Font-Size="12px" />
     </asp:TemplateField>
    如上例子模板列是可以正常显示的

    但是如果用<asp:BoundField 就不起作用了
    后来网上查了资料才发现VS2005还要再设置一下 HtmlEncode="false" 才可以了


           我们知道在VS2003甚至VS2005Beta下可以用DataFormatString格式化BoundField数据的输出:
                   

    <asp:BoundField HeaderText="DisplayText" DataField="FieldName" DataFormatString="{0:F2}">
        
    <ItemStyle HorizontalAlign="Right" Width="60px"></ItemStyle>
        
    <HeaderStyle HorizontalAlign="Right"></HeaderStyle>
    </asp:BoundField>


            但是,很快在VS2005中,你会发现DataFormatString不起作用了。

            这时候,应该同时设置HtmlEncode为false,DataFormatString才会起作用:
           

    <asp:BoundField HeaderText="DisplayText" DataField="FieldName" DataFormatString="{0:F2}" HtmlEncode="false">
        
    <ItemStyle HorizontalAlign="Right" Width="60px"></ItemStyle>
        
    <HeaderStyle HorizontalAlign="Right"></HeaderStyle>
    </asp:BoundField>


  • 相关阅读:
    学习手机安全卫士项目源码记录(一)
    AIDL Service
    让一个Activity在开机后自动显示
    如何拦截手机屏幕休眠和唤醒动作
    润前报表简单问题
    javaEE框架的session获取
    UEditer使用
    jQuery动态绑定生成的元素
    javadoc 生成乱码
    个人异常收集_SE_EE_WEB...
  • 原文地址:https://www.cnblogs.com/gfwei/p/1030531.html
Copyright © 2011-2022 走看看