2011-10-03 4 views
5

Tengo una página aspx que contiene un repetidor. Puedo generar datos usando Eval() pero quiero saber si es posible llamar a un método que pertenece a otra clase y pasarle el valor de Eval()?ASP.NET ¿Es posible llamar a métodos dentro de Server Tag usando Eval()?

Por ejemplo, en la sección <ItemTemplate> del repetidor:

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

Si es posible hacer esto, ¿cuál es la forma correcta de hacerlo?

Respuesta

13

Sí, pero hay que proporcionar el nombre completo y para emitir el resultado de la función Eval, que devuelve instancias System.Object.

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

Aquí, el método es público estático, pero también puede usar métodos de instancia.

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