再びASP.NETねた。
GridViewに表示される項目について、HTMLエンコードをかけたいのだが、例によってよくわからずハマる。
調べたところ、以下の方法でエスケープ処理が可能だった。
- HTMLエンコードしたい項目をTemplate Fieldに変換する。
- aspxファイルをソースビューに切り替えて、該当項目に対し「System.Web.HttpUtility.HtmlEncode」する。
- 以上
こんな感じになる。
例ではハイパーテキスト項目である「title」をHTMLエンコードしてみた。
<ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("id", "xml/{0}.xml") %>' Text='<%# System.Web.HttpUtility.HtmlEncode(Eval("title")) %>'></asp:HyperLink> </ItemTemplate>