2011-10-03 38 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")) %> 
相关问题