我有一个包含转发器的aspx页面。我可以使用Eval()输出数据,但我想知道是否可以调用属于另一个类的方法并将其传递给Eval()的值?
例如,在转发器的<ItemTemplate>
部分:
<ItemTemplate>
<tr>
<td>
<%# ClassName.Method( Eval("value1") ) %>
</td>
<td>
<%# Eval("value2") %>
</td>
</tr>
</ItemTemplate>
如果可以这样做,那么正确的方法是什么?
答案 0 :(得分:13)
是的,但您需要提供全名并转换Eval函数的结果,该函数返回System.Object实例。
<%# Namespace.ClassName.Method( (string)Eval("value1") ) %>
这里,方法是public static,但你也可以使用实例方法。
<%# new Namespace.ClassName((string)Eval("value1")).Method2((int)Eval("value2")) %>