2011-10-03 39 views
5

我有一個包含中繼器的aspx頁面。我可以使用Eval()輸出數據,但我想知道是否可以調用屬於另一個類的方法並將它傳遞給Eval()的值?ASP.NET是否可以使用Eval()在服務器標籤內調用方法?

例如,在中繼器的<ItemTemplate>部分:

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

如果能夠做到這一點,什麼是做了正確的方法是什麼?

回答

13

是的,但您需要提供完整的名稱並轉換Eval函數的結果,該函數返回System.Object實例。

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

在這裏,方法是公共靜態的,但您也可以使用實例方法。

<%# new Namespace.ClassName((string)Eval("value1")).Method2((int)Eval("value2")) %> 
相關問題