我在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字符只输入此字段而不关闭整个网站的验证。
我确实需要将其应用于整个列。
谢谢,
答案 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中禁用验证,这不是解决此问题的最佳做法。
使用这样的功能是最好的方法。