• 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>


  • 相关阅读:
    sql语句中的通配符
    Q&A 20090922
    Web大文件上传
    作别2010, 迎来2011的第一个工作日
    .Net 中 获取当前应用程序启动目录的几个方法
    asp.net身份验证和使用Silverlight的问题
    常用正则表达式
    最完美的xslt数值函数与字符串函数
    SQL2005的分页存储过程,支持多表多关联,亲测高效绝对可用
    处理大并发下的dropdownlist数据关联
  • 原文地址:https://www.cnblogs.com/gfwei/p/1030531.html
Copyright © 2020-2023  润新知