2011-10-03 23 views
5

私はリピーターを含むaspxページを持っています。私はEval()を使ってデータを出力できますが、別のクラスに属するメソッドを呼び出してEval()の値を渡すことができるかどうかを知りたいのですが?例えば、リピータの<ItemTemplate>セクションにASP.NET Eval()を使用してサーバータグ内のメソッドを呼び出すことはできますか?

を:それはこれを行うことが可能である場合

<ItemTemplate> 
    <tr> 
     <td> 
      <%# ClassName.Method(Eval("value1")) %> 
     </td> 
     <td> 
      <%# Eval("value2") %> 
     </td> 
    </tr>     
</ItemTemplate> 

、それを行うための正しい方法は何ですか?

答えて

13

はい、ただし、完全な名前を指定し、System.Objectインスタンスを返すEval関数の結果をキャストする必要があります。

<%# Namespace.ClassName.Method((string)Eval("value1")) %> 

このメソッドはpublic staticですが、インスタンスメソッドも使用できます。

<%# new Namespace.ClassName((string)Eval("value1")).Method2((int)Eval("value2")) %> 
関連する問題