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

The*_*max 6 c# asp.net

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

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

<ItemTemplate>
    <tr>
       <td>
          <%# ClassName.Method( Eval("value1") ) %>
       </td>
       <td>
          <%#  Eval("value2") %>
       </td>
    </tr>                  
 </ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

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

Adr*_*ode 13

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

<%# Namespace.ClassName.Method( (string)Eval("value1") ) %>
Run Code Online (Sandbox Code Playgroud)

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

<%# new Namespace.ClassName((string)Eval("value1")).Method2((int)Eval("value2")) %>
Run Code Online (Sandbox Code Playgroud)