编码gridview中的字段

时间:2012-04-04 13:12:15

标签: html vb.net gridview encoding

我在gridview自定义编码中有一些这些事件。但这里真正的问题是我存储了以前的记录,即正在更改的记录,或者old.value,我将它存储在另一列中。因此,当用户输入说“< newValue>”时没有引号,aspx验证器拒绝输入是危险的。

我可以禁用验证,并在将值写入数据库时​​对值进行html编码,但是当我在“上一个值”列中的gridview中显示该值时,它显示为...... & lt Neutral& gt分子缺失,因为该网站解码。

如何在ASPX中内联编码和解码?

如何编码输入网格视图的此模板字段?

<EditItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("lang_String") %>'></asp:TextBox>
</EditItemTemplate>

我想允许某些html字符只输入此字段而不关闭整个网站的验证。

我确实需要将其应用于整个列。

谢谢,

1 个答案:

答案 0 :(得分:1)

我找到了一个可行的解决方案来解决这个问题。在后面的代码中,输入以下内容来调用函数来处理html编码....

<Columns> 
<asp:TemplateField> 
  <ItemTemplate> 
      <asp:Label ..... Text='<%# DecodeIT(Eval("FirstName").ToString())%>' /> // for "decoding" 
 </ItemTemplate> 
 <EditTemplate> 
      <asp:TextBox id="TextBox1" runat="server" /> // for "encoding" 

这是函数......

Private Function DecodeIT(firstName As String) As String
Return HttpUtility.HtmlDecode(firstName)
End Function

大多数其他解决方案建议在Page指令或web.config中禁用验证,这不是解决此问题的最佳做法。

使用这样的功能是最好的方法。