- PR -

TABLEにDBから取得した文字列をハイパーリンクさせて貼りたい

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-07-24 21:53
太字のイタリックにした部分を埋めてください。
引用:

ASP.NET1.1(VB)+ SQLserver2000 でプログラムしています。
HTML でテーブルをつくり、そこに下のようにデータベースからのデータを流し込んでいます。
取得したデータの文字列にハイパーリンクを貼ろうとしているのですが、うまくできません。
New LiteralControl の箇所に <A href="test.html"> を記述すればハイパーリンクになると思っているのですが、デバッグを開始しようとするとエラーとなり、デバッグを開始することが出来ません。
DataGrid を使えば簡単に処理できるところなのですが、(これこれの理由で)テーブルを使いたいと思っています。
どの様にすればよろしいでしょうか。

Dim row As HtmlTableRow
Dim cell As HtmlTableCell
row = New HtmlTableRow
dr.Read()
cell = New HtmlTableCell
cell.Controls.Add(New LiteralControl("<A href='link.html'>" & dr("jirei_no") & "</A>"))
 ↑この行がエラーとなる。
 エラーメッセージは、「・・・」


 リンクを示す文字は変わるけど、リンク先は変わらんぞぉ〜、、、というツッコミはあり?
 あと、データベースに <> を含む文字列が入っていたらどうなるだぁ!?

 Strict Off にしているからで、On にしたら、、、コンパイルする前に怒られるだけで、質問自体はあるのか。
 やりとりの時間がもったいないので想像で書くが、「"<A href='link.html'>" & CStr(dr("jirei_no")) & "</A>"」で通ると思う。Object を String に、拡大変換できないんじゃないかなぁ?
Object.ToString があるけど、『Visual Basic 言語リファレンス』の「& 演算子」には、
引用:

いずれかのデータ型が文字列型 (String) に拡大変換されない場合は、コンパイラでエラーが発生します。


と書かれているから、拡大変換出来ないんだろう。
でも、エラーメッセージの詳細がわからないので、本当のところはわからん。

ぶさいくろうさん風に書くと、、、
人がアドバイスしていることは素直に聞こうぜ、な!!

スキルアップ/キャリアアップ(JOB@IT)