惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
S
Security @ Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
The Hacker News
The Hacker News
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
博客园 - 司徒正美
雷峰网
雷峰网
L
LINUX DO - 最新话题
博客园 - 叶小钗
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
V2EX - 技术
V2EX - 技术
S
Security Affairs
有赞技术团队
有赞技术团队
月光博客
月光博客
T
Threatpost
T
Tor Project blog
O
OpenAI News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
V2EX
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
博客园 - 三生石上(FineUI控件)
D
Docker
AWS News Blog
AWS News Blog
AI
AI
P
Proofpoint News Feed
K
Kaspersky official blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
S
Securelist
F
Fortinet All Blogs
F
Full Disclosure
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
量子位
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Palo Alto Networks Blog
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
美团技术团队
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog

博客园 - 赣江源

StreamInsight参考示例 Microsoft StreamInsight简介 按照时间点还原数据库(SQL Server) 如何显示在线用户? ASP.NET中每个页面在Load之前调用公用函数 网站单点登录的实现思路 在服务器端提取ASP.NET控件输出的HTML 如何处理在IE7关闭时不出现选项卡提示 使用JavaScript控制UpdatePanel的更新 获取GridView单元格值的通用函数 如何在GridView将数字显示成金额格式或自定义格式? ASP.NET 2.0中使用XSLT的变化 在GridView表头显示排序方向 利用AJAX实现DropDownList与GridView做实时更新 输出时清除GridView的Style ASP.NET实现打印的方法小结 提高ASP.NET性能的一点方法 asp.net的一些小技巧 route命令详解
GridView中的DataFormatString失效解决办法 - 赣江源 - 博客园
赣江源 · 2009-11-17 · via 博客园 - 赣江源

在用gridview做数据呈现的时候,很多时候需要用到DataFormatString属性,但是在使用的时候发现绑定上去后并没有做到格式化,和原来DataGrid时候的设置是相同的,为什么到这里就不行了呢,而在老版本的DataGrid中执行就没有问题,后来发现是因为gridview中绑定列做格式化是需要设置列的属性HTMLEncode="False",这样DataFormatString才能生效。

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

    <Columns>

        <ASP:BoundField HeaderText="发布日期" DataField="releaseDate" DataFormatString="{0:yyyy-MM-dd}" HTMLEncode="False">

        </ASP:BoundField>     

        <asp:BoundField DataField="state" HeaderText="状态" HtmlEncode="false" DataFormatString="&lt;img src='images/state_{0}.gif'&gt;&lt;br&gt;&lt;hr size=1 color=#eae6e8&gt;">

        </asp:BoundField>

        <asp:HyperLinkField DataNavigateUrlFields="id" DataNavigateUrlFormatString="view.aspx?id={0}"  DataTextField="caption" HeaderText="标题" DataTextFormatString="{0}&lt;br&gt;&lt;hr size=1 color=#eae6e8&gt;">

        </asp:HyperLinkField>

    </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失效!