- - PR -
TABLEにDBから取得した文字列をハイパーリンクさせて貼りたい
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-23 14:21
初心者ですが、よろしくお願いします。
ASP.NET1.1(VB)+SQLserver2000でプログラムしています。 HTMLで(1)のテーブルをつくり、そこに(2)のようにデータベースからのデータを流し込んでいますが、その取得したデータの文字列にハイパーリンクを貼ろうとしてもなかなかうまくいきません。<A href="test.html">をNew LiteralControlの後ろに記述しようとしてもエラーになってしまいます。Datagridを使えば簡単に処理できるところなのですが、できたらテーブルを使ってやる方法で試したいという思いがあります。よろしくお願いします。 (1) <table id="TABLE1" style="WIDTH: 800px; HEIGHT: 32px" cellSpacing="0" cellPadding="3" width="800" border="1" runat="server"> <tr bgColor="#cccccc"><td width="30">No.</td> <td width="150">事例名</td> <td width="100">作成者</td> <td width="200">所属</td> </tr> </table> (2) Dim row As HtmlTableRow Dim cell As HtmlTableCell row = New HtmlTableRow dr.Read() cell = New HtmlTableCell cell.Controls.Add(New LiteralControl(dr("jirei_no"))) | ||||||||||||
|
投稿日時: 2006-07-23 14:54
とりあえず New LiteralControl(dr("jirei_no").ToString()) かな? | ||||||||||||
|
投稿日時: 2006-07-23 19:51
返信ありがとうございます。
ハイパーリンクを設定しようと思っているのは下の箇所で cell.Controls.Add(New LiteralControl(dr("jirei_no")))の(dr("jirei_no")) の部分です。 Dim cmd As New AqlCommand("select * from jirei,cn) Dim dr As SqlDataReader=cmd.ExecuteReader で変数宣言しました データの中はstring文字列です。 構文が間違っているのかと思うのですが cell.Controls.Add(New LiteralControl(dr("jirei_no"))) のところを例えば cell.Controls.Add(New LiteralControl("<A href=link.html>"&dr("jirei_no")&"</A>")) としてもだめでした。 エラーはVB.netからデバックするとビルドエラーが発生しました。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2006-07-23 20:19
エラーメッセージの内容をしっかり書き、自分としてはココはこういう結果を期待しているとしっかり書くと答えを得やすいでしょう。
ところで、
ビルドが出来ていない状態だと、デバッグなど当然出来ません。正確にお願いします。 _________________ 囚人のジレンマな日々 | ||||||||||||
|
投稿日時: 2006-07-23 21:17
ありがとうございます。
ビルドエラーになるのは、やろうとしていることがサポートされていないか構文が間違っているかと思っているのですが、<a>タグを入れるとビルドエラーになることが問題のところです。SQLserverからのデータを読み込んでHTMLのtableのセルに表示させる際に<a>タグをつけてハイパーリンクを設定したいのですが、やはりwebフォームを使わないと無理なのでしょうか。 何もかもがわかっておらず、申し訳ございませんでした。 | ||||||||||||
|
投稿日時: 2006-07-23 21:21
で、コンパイラは何て教えてくれていますか?エラーならば、エラーメッセージが出ていますよね?
_________________ 囚人のジレンマな日々 | ||||||||||||
|
投稿日時: 2006-07-24 03:37
思いますがそこに何とかいてあります?実はビルドは通っててランタイムエラーに なっているんだったらその内容は何か。そもそもエラーとなっている行はどれか。 (提示されているコードは省略しているような感じがします)
HtmlコントロールでなくてWebコントロールってことですか?それなら Htmlコントロールでもできると思いますよ。 #New LiteralControl(dr("jirei_no")) #ぁ、VBってこれはコンパイル通るんだ。。 [ メッセージ編集済み 編集者: べる 編集日時 2006-07-24 03:38 ] | ||||||||||||
|
投稿日時: 2006-07-24 11:12
HyperLinkコントロールを作成して
テーブルに追加する方法でうまくいきませんでしょうか? Dim link As HyperLink = New HyperLink link.Text = Convert.ToString(dr("jirei_no")) link.NavigateUrl = "link.html" cell.Controls.Add(link) |