datagridやrepeaterを使って明細を作る機会というのが多いと思います。
そして作成をしていくうちに、Aタグを使った文字を出力する場面に直面する時がきた時
どのようにすればよいか紹介したいと思います。
asp:HyperLinkを活用する。
HyperLinkを活用する場合は
HyperLink.Text に表示したい文字を
HyperLink.NavigateUrlにリンク先を記述する事で実現します。
ただしこのやり方ですと ひとつのHyperLinkにひとつのURLしか記述できません。
なので複数件 データが出る場合困ってしまいます。
asp:Labelにタグを直書きすると解決できそうですが、
タグを複数書くとエラーで落ちてしまう可能性があります。
なのでrepeaterで作成した場合、ItemDataBound処理の時以下のようにすれば解決されます。
Dim row As DataRowView = CType(e.Item.DataItem, DataRowView)
CType(e.Item.FindControl("tdHoge"), HtmlTableCell).InnerHtml = row("hoge")
※row("hoge")がDBNULLの場合システムエラーでおちてしまうので別の関数を使う必要があります
なお、InnerTextを使った場合タグがそのまま表示されてしまうので注意が必要です。
複数タグが入ったデータを表示する場合に是非お使いください。