2008-11-24 21 views
5

hay una manera fácil de resolver el siguiente problema.Problema con NVelocity, foreach y dos listas

Digamos que obtengo un IList con algunos libros en mi controlador de mi modelo. Ahora quiero enriquecer el resultado y obtener una vista previa de Amazon con otro modelo de un marco externo y obtener otro IList.

Ahora puse ambos ILists en una bolsa de la propiedad.

En NVelocity utilizo #foreach para BookList, pero ¿cómo puedo acceder a amazonbooklist con la vista previa correcta? No puedo usar $ amazonbook [index], donde index sería isbn. ¿Realmente necesito poner ambas listas en una lista grande con un simple objeto que contenga solo los otros dos objetos?

Recuerde, ambos modelos son de marcos diferentes y no se pueden colocar en un marco. Ambos marcos deben permanecer separados. Trato de resolver el problema NVelocity y por supuesto, este problema es sólo un ejemplo, no vendemos libros;)

Respuesta

1

Puede haber una solución más simple, pero me gustaría crear una tercera clase como tales

class BookList{ 
     MyBookObject  a; 
     AmazonBookObject b; 
} 

una lista de esta tercera clase se puede pasar a su vista a la vez.

+0

lo tanto, esto es parte del controlador o debería crear otro modelo de esta recopilación de datos? –

+0

Yo diría que eso depende de usted; podría hacer esto usando Linq y un tipo anónimo si no quisiera una clase dando vueltas, pero eso limita un poco su facilidad de prueba. El uso de un modelo sería mi enfoque y la delegación de esta funcionalidad a un servicio separado para mantener el controlador ligero. – Bittercoder