我有一个绑定到 ObjectDataSource 的 GridView。我也支持编辑,效果很好。但是,我想安全地对显示的文本进行 HtmlEncode,因为我们确实允许在某些字段中使用特殊字符。这与标准 BoundFields 无关,因为我只是将 HtmlEncode 设置为 true。
但是为了设置验证控件,需要使用 TemplateFields。如何轻松添加 HtmlEncoding 以这种方式输出?这是一个 ASP.NET 2.0 项目,所以我使用较新的数据绑定快捷方式(例如Eval
和Bind
)。
我想做的是如下所示:
<asp:TemplateField HeaderText="Description">
<EditItemTemplate>
<asp:TextBox ID="TextBoxDescription" runat="server"
Text='<%# System.Web.HttpUtility.HtmlEncode(Bind("Description")) %>'
ValidationGroup="EditItemGrid"
MaxLength="30" />
<asp:Validator ... />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LabelDescription" runat="server"
Text='<%# System.Web.HttpUtility.HtmlEncode(Eval("Description")) %>' />
</ItemTemplate>
</asp:TemplateField>
但是,当我以这种方式尝试时,出现以下错误:
CS0103:当前上下文中不存在名称“绑定”