今天帮一位客户部署网站的时候,发现之前在本地调的好好的网站,竟然出现几处不一样,因为本地开发是VS 2010 环境,而客户空间跟域名买的配置跟本地环境有很多不一样;

其中一个问题是:GridView 中DataFormatString失效;

解决方案:

在我们从业务逻辑层获得数据实体时候,接下来的事情就是要绑定到控件中。数据实体中的一些字段可以直接绑定到界面中,但是有一些字段需要重新格式化格式。比如货币单位字段,需要显示货币符号和每隔三位显示分隔符;再比如日期字段,数据库中存放的是日期和时间,但是在界面上需要按照XXXX年XX月XX日的格式显示。这时候我们就用到了DataFormatString属性。

<ASP:GridView ID="grvResult" runat="server" AutoGenerateColumns="False" Width="100%">

<Columns>

<ASP:BoundField HeaderText="预定日期" DataField="OperationDate" DataFormatString="{0:yyyy-MM-dd}" HTMLEncode="False">

</ASP:BoundField>

<ASP:BoundField HeaderText="订单总计" DataField="TotalRate" DataFormatString="{0:C}" HTMLEncode="False">

</ASP:BoundField>

</Columns>

</ASP:GridView>

例如上面的代码展示了日期和货币两种绑定方式。DataFormatString中的{0}是固定的格式,这和String.Fromat(“{0}”, someString)中的{0}是一个用法,表示绑定上下文的参数索引编号。然后,在后面加入格式化字符串,具体的使用方法可以参考MSDN。

这里需要注意以下几点
1. 在GridView中的ASP:BoundField使用DataFormatString必须设置属性HTMLEncode="False",否则不起作用。
2. 如果需要使用日期类型的格式化字符串,必须数据实体中对应的字段也应该日起类型的。
3. 格式化字符串C代表货币单位,需要绑定的数据类型应该是数字类型的。如果是字符串类型的不起作用,需要手动添加格式化字符串为DataFormatString="¥{0:C}"。

总结:
     GridView中使用DataFromatString与在DataGrid中使用起来有些不同的!在GridView中的BoundField新增了HTMLEncode 属性,且默认是true,这就使得DataFromatString失效!

转载于:https://www.cnblogs.com/KingStar/archive/2011/05/16/2048101.html

GridView 中DataFormatString失效的原因相关推荐

  1. GridView中Dataformatstring 格式化日期应注意的问题

    GridView中Dataformatstring 格式化日期应注意的问题 1.HtmlEncode="False" 2.DataFormatString="{0:d}& ...

  2. 转 C# GridView中DataFormatString属性的取值

    DataFormatString 属性语法如下: DataFormatString="{0:格式字符串}" 我们知道在DataFormatString 中的 {0} 表示数据本身, ...

  3. Mysql中索引失效得原因和解决

    文章目录 前言 1.单个字段测试 varchar字段测试 name字段 name and status 测试 name and status and address 测试 2.最左前缀法则 复合索引测 ...

  4. GridView 中 DataFormatString 的使用

    首先把Gridview的AutoGenerateColumns属性设为False(默认是False),DataField选择相应的字段,特别需要注意的是要把需要设置的字段的HtmlEncode属性设置 ...

  5. 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法

    在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法 参考文章: (1)在同一个类中,一个方法调用另外一个有注解(比如@Async, ...

  6. 如何在GridView中使用DataFromatString [转]

    在我们从业务逻辑层获得数据实体时候,接下来的事情就是要绑定到控件中.数据实体中的一些字段可以直接绑定到界面中,但是有一些字段需要重新格式化格式.比如货币单位字段,需要显示货币符号和每隔三位显示分隔符: ...

  7. 在GridView中如何格式化Money型字段?

    在GridView中如何格式化Money型字段(downmoon)?         <asp:GridView ID="GridView1" runat="ser ...

  8. ASP.NET 2.0中CSS失效解决方案

    经常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的问题,现将主要原因和解决方法罗列如下: 1.CSS文件路径不正确 这个问题属于Web开发中的基础问题,一般采用相 ...

  9. php session 过期,php session失效的原因

    php session失效的原因 原因1: bin目录中的文件被改写,asp.net有一种机制,为了保证dll重新编译之后,系统正常运行,它会重新启动一次网站进程,这时就会导致Session丢失,所以 ...

  10. GridView中的RadioButton列之间不能互斥

    GridView中的RadioButton列与CheckBox列 GridView拥有大量的内置功能,可以使用不同的默认filed来放置显示诸如TextBox.Buttos等等控件,支持模板是Grid ...

最新文章

  1. 一次失败的尝试:paxosstore示例编译
  2. 转载 开发人员一定要加入收藏夹的网站
  3. 全球首个Magic Leap One体验:吓到你不敢进房间
  4. CSP认证201612-4 压缩编码[C++题解]:区间dp、huffman树、石子合并
  5. Java快速生成20亿数字_20 亿个数字在 4G 内存中如何去重排序:快来试一试 BitMap...
  6. 3月第4周全球域名商TOP15:万网第四 涨幅居亚
  7. 【p081】ISBN号码
  8. PHP短网址链接在线生成源码 带后台
  9. 参加 CSDN 2009 英雄大会有感(二)
  10. 判断上三角矩阵 (15 分)
  11. ES6新特性_Promise封装读取文件---JavaScript_ECMAScript_ES6-ES11新特性工作笔记025
  12. mysql web聊天_多嘴WEB聊天室基于PHP+MYSQL的中文聊天室
  13. 一个未完成创业项目的思考——创业杂记
  14. 美团外卖的用户画像怎么设计?用户画像全流程讲解!
  15. android 微信公众号开发教程,微信公众号-开发者-自定义菜单,公众开发者
  16. Python 列表元组拆分为多个列表
  17. Appium-Screenshot(截图)
  18. 你的设备中缺少重要的安全和质量修复
  19. 学习Canvas基础-绘制弧线和曲线
  20. 重磅出击,20张图带你彻底了解ReentrantLock加锁解锁的原理

热门文章

  1. Python中lambda的用法及其与def的区别解析
  2. mvcframeworkProgramming ASP.NET MVC-Fundamentals of ASP.NET MVC(四)Controller
  3. Ubuntu 安装DELL D630无线网卡驱动
  4. SQL语句更改数据库名,表名,列名
  5. 四种进程或线程同步互斥的控制方法
  6. 14.Mongodb之导出(mongoexport)、导入(mongoimport)
  7. history指令显示日期时间
  8. typedef struct引起的结构体问题
  9. python怎么用for循环找出最大值_从“for in”循环中获取最小值和最大值
  10. php zip类,php ZIP压缩类实例步骤详解