人生最悪の忘れ物

こんにちは。
ASP.netを始めたばかりの初心者です。

かなり初歩的なことかもしれませんが、色々調べても分からないので、
ご教授ください。

データバインドした後で、Eval("xxx") とか Bind("xxx") とか
デザイナのソースに書いて表示させると思うのですが、
これをコード(xxx.aspx.vb)の方で取得するにはどうしたらいいのでしょうか?

単純にそのまま書いてもエラーになります。

また、<%# ....... %> の中でIf文とかコードを書いて表示させること
は不可能なのでしょうか?IIFとかならできるみたいなのですが・・・。

例えば:
<%# If Eval("xxx") = 0 Then Response.Write("yyy") Else Response.Write("zzz") %>

とかいうコードは実現不可なのでしょうか?

かなり初歩的な質問ですみません。
よろしくお願いします。

A 回答 (2件)

vbに下記のような関数を作成して下さい。


アクセス修飾子は「Protected」「Public」にして下さい。
また引数は値が「Null」の場合も考えられますので、
Objectで受けるようにしておいて、
関数内で適切に処理して下さい。

aspx では、Eval を利用してください。
Bind ではエラーが発生するはずです。

【vb】
Protected Function GetXXX(Byval obj As Object) As String
...
End Function

【aspx】
<%# GetXXX(Eval("xxx")) %>
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございました。できました!

コードビハインドで適切な関数を書いて、
Eval("xxx")を引数で渡すという方法がベストなのですね。

勉強になりました。ありがとうございました。

お礼日時:2006/12/06 16:54

Evalに関しては、No1のとおりです。



また、aspxにIFのような、あまりコードじみたものを書くのはよくありません。何のためのファイルですか?

コードビハインドじゃなくても、メソッドやプロパティを別に作ったほうがいいです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報