C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: htmlに関数を埋め込む


(過去ログ 60 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■33906 / inTopicNo.1)  htmlに関数を埋め込む
  
□投稿者/ やきとり (1回)-(2009/03/12(Thu) 22:01:07)

分類:[ASP.NET (VB)] 

vb2005でasp.netをやっています。

html(*.aspx)に関数または変数を埋め込んで、vb(*.aspx.vb)の
変数や関数をhtmlから参照したいと思っています。

試したのは、以下のものです。

vb側
Protected Function abc() As String
'関数の処理
End Function

html側
<table><tr><td><%abc()%></td></tr></table>

vb側
Protected Function def() As String
'関数の処理
End Function

html側
<table><tr><td align=<%def()%>>てすと</td></tr></table>

間違っているのは判るのですが、やり方が解りません。
初歩的な質問で申し訳ございません。

よろしくお願いします。
引用返信 編集キー/
■33916 / inTopicNo.2)  Re[1]: htmlに関数を埋め込む
□投稿者/ 渋木宏明(ひどり) (1098回)-(2009/03/13(Fri) 08:52:10)
渋木宏明(ひどり) さんの Web サイト
> html(*.aspx)に関数または変数を埋め込んで、vb(*.aspx.vb)の
> 変数や関数をhtmlから参照したいと思っています。

できないです。

HTTP や ASP.NET の仕組みについて、勉強してみてください。

引用返信 編集キー/
■33919 / inTopicNo.3)  Re[2]: htmlに関数を埋め込む
□投稿者/ ぱると (14回)-(2009/03/13(Fri) 09:32:43)
最初に「html(*.aspx)」って言ってるので全部aspxの事だと思って書きます。

vb側
Protected def as String

Protected Function abc() As String
  def = "てすとdef"
  return "てすとabc"
End Function

aspx側
<table><tr><td><%= abc() %></td></tr></table>
<table><tr><td><%= def %></td></tr></table>

これで大丈夫な気がしますが、未検証です…。
関数直接じゃなくてProtected(以上)な変数等からも取って来れます。

「html」って言っちゃうと誤解されるので全部「aspx」って言うべきだと思います。
もちろん拡張子が「html」だとできないです。

引用返信 編集キー/
■34380 / inTopicNo.4)  Re[3]: htmlに関数を埋め込む
□投稿者/ やきとり (2回)-(2009/03/27(Fri) 21:18:58)
No33919 (ぱると さん) に返信
> 最初に「html(*.aspx)」って言ってるので全部aspxの事だと思って書きます。
>
> vb側
> Protected def as String
>
> Protected Function abc() As String
> def = "てすとdef"
> return "てすとabc"
> End Function
>
> aspx側
> <table><tr><td><%= abc() %></td></tr></table>
> <table><tr><td><%= def %></td></tr></table>
>
> これで大丈夫な気がしますが、未検証です…。
> 関数直接じゃなくてProtected(以上)な変数等からも取って来れます。
>
> 「html」って言っちゃうと誤解されるので全部「aspx」って言うべきだと思います。
> もちろん拡張子が「html」だとできないです。
>
ありがとうございます。
それと遅くなって申し訳ございません。
僕の質問が悪かったですね。
教えていただいたことをやったら、うまく行きました。
変数も出来るんですね。

申し訳ござませんが、もう一つ質問させてください。
変数をaspxに埋め込んでおき、<table>タグの<tr>や<td>をvb.netで
書き込むということをやりたいと思っています。

<table>タグの行が予測できないので。。。

変数が可能だから出来るような気がするのですが。

このやり方はperlとかでは良く使うと思いますが、asp.netでは
一般的でなかったりするのでしょうか?

引用返信 編集キー/
■34407 / inTopicNo.5)  Re[4]: htmlに関数を埋め込む
□投稿者/ biac (74回)-(2009/03/28(Sat) 13:00:19)
biac さんの Web サイト
>><table><tr><td><%= abc() %></td></tr></table>

コレ↑が分かったのなら…

> 変数をaspxに埋め込んでおき、<table>タグの<tr>や<td>をvb.netで
> 書き込むということをやりたいと思っています。

…というのも同じこと。

<table><%= abc() %></table>
として、 abc() メソッドで "<tr><td>…" とか HTML を組み立てた文字列を作って、 返してやればいい。

※ ということは、 クライアント側からのデータを abc() メソッドの戻り値に含める場合…
 < や /> などの html タグが入っていたら、 そのまま出力される ( XSS 脆弱性 ) ってことです。 ちゃんとエスケープ処理を入れてくださいね。


abc() メソッド内での文字列連結が嫌なら、 <%= の代わりに Response.Write() を使う。
( http://msdn.microsoft.com/ja-jp/library/1463ysyw(loband).aspx )

<table><% WriteTableContents() %></table>

Protected Sub WriteTableContents()
 Response.Write("<tr>")
 Response.Write(" <td>hoge</td>")
 Response.Write(" <td>moge</td>")
 Response.Write("</tr>")
 …

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -