日々様々なトラブルにハマっている、困ったシステム管理者の奮闘日記です。

GridView内の項目のエスケープ処理

再びASP.NETねた。

GridViewに表示される項目について、HTMLエンコードをかけたいのだが、例によってよくわからずハマる。

調べたところ、以下の方法でエスケープ処理が可能だった。

  1. HTMLエンコードしたい項目をTemplate Fieldに変換する。
  2. aspxファイルをソースビューに切り替えて、該当項目に対し「System.Web.HttpUtility.HtmlEncode」する。
  3. 以上

こんな感じになる。
例ではハイパーテキスト項目である「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>

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply