日期:2010-11-04  浏览次数:20508 次

可能之前不少朋友也已经试过,但我是今天才遇到这个问题,翻查资料后才解决。主要是在asp.net 2.0中,如果要在绑定列中显示比如日期格式等,如果用下面的方法是显示不了的

<asp :BoundField DataField=“CreationDate” 
     DataFormatString=“{0:M-dd-yyyy}” 
     HeaderText=“CreationDate”   />

主要是由于htmlencode属性默认设置为true,已防止XSS攻击,安全起见而用的,所以,可以有以下两种方法解决

1、

<asp :GridView ID=“GridView1″ runat=“server”>
<columns>
  <asp :BoundField DataField=“CreationDate” 
     DataFormatString=“{0:M-dd-yyyy}” 
     HtmlEncode=“false”
     HeaderText=“CreationDate”    />
</columns>
</asp>

将htmlencode设置为false即可

另外的解决方法为,使用模版列

<asp :GridView ID=“GridView3″ runat=“server”  >
 <columns>
  <asp :TemplateField HeaderText=“CreationDate” >
   <edititemtemplate>
    <asp :Label ID=“Label1″ runat=“server”
      Text=‘<%# Eval("CreationDate", "{0:M-dd-yyyy}") %>‘>
    </asp>
   </edititemtemplate>
   <itemtemplate>
    <asp :Label ID="Label1" runat="server"
      Text=’<%# Bind(“CreationDate”, “{0:M-dd-yyyy}”) %>‘>
    </asp>
   </itemtemplate>
  </asp>
 </columns>
</asp>