ASP.NET是否可以使用Eval()调用Server Tag中的方法?

时间:2011-10-03 10:05:33

标签: c# asp.net

我有一个包含转发器的aspx页面。我可以使用Eval()输出数据,但我想知道是否可以调用属于另一个类的方法并将其传递给Eval()的值?

例如,在转发器的<ItemTemplate>部分:

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

如果可以这样做,那么正确的方法是什么?

1 个答案:

答案 0 :(得分:13)

是的,但您需要提供全名并转换Eval函数的结果,该函数返回System.Object实例。

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

这里,方法是public static,但你也可以使用实例方法。

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