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

推荐订阅源

小众软件
小众软件
N
News and Events Feed by Topic
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
The Cloudflare Blog
H
Heimdal Security Blog
Schneier on Security
Schneier on Security
Engineering at Meta
Engineering at Meta
Google Online Security Blog
Google Online Security Blog
宝玉的分享
宝玉的分享
AI
AI
The GitHub Blog
The GitHub Blog
MongoDB | Blog
MongoDB | Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Last Watchdog
The Last Watchdog
T
Troy Hunt's Blog
S
Security @ Cisco Blogs
H
Hacker News: Front Page
F
Fortinet All Blogs
博客园_首页
S
Secure Thoughts
N
News and Events Feed by Topic
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
Spread Privacy
Spread Privacy
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Hugging Face - Blog
Hugging Face - Blog
Hacker News: Ask HN
Hacker News: Ask HN
C
CXSECURITY Database RSS Feed - CXSecurity.com
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
L
LINUX DO - 最新话题
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
Know Your Adversary
Know Your Adversary
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Scott Helme
Scott Helme
P
Privacy & Cybersecurity Law Blog
S
Securelist
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
O
OpenAI News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
PCI Perspectives
PCI Perspectives
L
LangChain Blog
雷峰网
雷峰网
Security Archives - TechRepublic
Security Archives - TechRepublic
V2EX - 技术
V2EX - 技术

博客园 - nect

【转】ie9 rc版软件兼容问题 [z]前端设计IE6/IE7/IE8/IE9/FF问题汇总:IE和FirFox兼容问题 - nect - 博客园 [z]ie和FF 在insertRow和insertCell的区别 [z]JS在IE和FF下attachEvent,addEventListener学习笔记 - nect - 博客园 WinForm使用webclient通过http的POST方式上传文件 转:另类解决:“ScriptManager”不是已知元素。原因可能是网站中存在编译错误。 - nect - 博客园 转:css妙用1-用图片替换文字 .net中的正则表达式(一)——转义字符 使用Cascadingdropdown控件遇到的一个问题 IP地址匹配算法 服务器控件的客户端验证脚本 从一个字符串中Remove另一个字符串 gridview 中模板列无法响应row_command事件 - nect - 博客园 在asp.net Atlas中调用 Web Service时无法找到自定义的Web Service对象的可能原因 【转】Prototype.js开发笔记//mark一下 在GridView中使用邮件链接 【转】ASP.net2。0中解决无法获取 GridView 隐藏列值问题 [转]操纵自如--页面内的配合与通信 [导入]Java调用.net的WebService
GridView 中格式化整理
nect · 2007-10-23 · via 博客园 - nect

设置 DataFormatString 后为什么格式化输出无效?
不要忽略两个重要属性 BoundField的 HtmlEncode 和 ApplyFormatInEditMode :
HtmlEncode
GridView 使用的 BoundField 与 DataGrid 使用 BoundColumn 不同,BounField 提供了一个 HtmlEncode 属性,提供是否对数据进行HTML编码,降低了 BoundColumn 潜在的Html &Script 嵌入攻击,默认该值是启用的。
如果要使用格式化输出,应该关闭此属性。
PS:不明白,BoundField内部如何实现的,为什么不能支持先格式化后再Html编码?有时间dasm一下,看下BoundField源码。

<asp:BoundField DataField="HireDate" DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false" HeaderText="HireDate" />

ApplyFormatInEditMode
默认情况下,只有当数据绑定控件处于只读模式时,格式化字符串才能应用到字段值。当数据绑定控件处于编辑模式时,若要将格式化字符串应用到显示的值,应该同时将 ApplyFormatInEditMode 属性设置为 true。

<asp:BoundField DataField="HireDate" DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false" HeaderText="HireDate" ApplyFormatInEditMode="true" />


格式化字符串的格式
格式化字符串可以为任意字符串,并且通常包含字段值的占位符。例如,在格式化字符串“Item Value: {0}”中,当 BoundField 对象中显示字符串时,字段的值会代替 {0} 占位符。格式化字符串的剩余部分显示为文本。
注意:如果格式化字符串不包含占位符,则来自数据源的字段值将不包含在最终显示文本中。 

占位符由用冒号分隔的两部分组成并用大括号括起,格式为 {A : Bxx}。冒号前的值(常规示例中为 A)指定在从零开始的参数列表中的字段值的索引。
注意:此参数是格式化语法的一部分。因为每个单元格中只有一个字段值,所以这个值只能设置为 0。即始终为{0:Bxx} 

HyperLinkField
特别说明HyperLinkField,是因为实现了DataGrid的HyperLinkColumnd所不支持的,多参数格式化链接。通常我们附加在url后面的QueryString不会只有一个,asp.net 1。x 中只有使用绑定列,然后手动写代码:

<asp:DataGrid id="DataGrid1" runat="server" DataSourceID="SqlDataSource1">
            
<Columns>
                
<asp:TemplateColumn>
                    
<ItemTemplate>
                        
<asp:HyperLink runat="server" Text="View Photo"  NavigateUrl='<%# String.Format("photo.aspx?empid={0}&path={1}", Eval("EmployeeID"), Eval("PhotoPath")) %>'></asp:HyperLink>
                    
</ItemTemplate>
                
</asp:TemplateColumn>
            
</Columns>
        
</asp:DataGrid>


现在使用HyperLinkField,看下,省去很多苦力活:)

 <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
            AutoGenerateColumns
="False" DataKeyNames="EmployeeID" DataSourceID="SqlDataSource1">
            
<Columns>                
                     
<asp:HyperLinkField DataNavigateUrlFields="EmployeeID,City" DataNavigateUrlFormatString="photo.aspx?empid={0}&path={1}"
                    HeaderText
="PhotoPath" Text="View Photo" />
            
</Columns>
        
</asp:GridView>