Pregunta

Me estoy perdiendo algo fundamental para los directores de la MVC o me estoy volviendo loca?

Si tengo una vista que muestra una lista de libros y una lista de autores, que tengo que crear la clase que tiene la lista de los Libros y la lista de autores como propiedades.A la derecha?

Me gustaría entonces fuertemente tipo de la vista para el uso de esta clase.

Ahora quiero crear una nueva página con el mismo listados pero que también tiene una lista de promociones.Necesito crear otra clase con una lista de Libros de la propiedad, una lista de autores de la propiedad y una lista de las promociones de la propiedad?

Si estoy creación de clases para todos los puntos de vista estoy creando un infierno de un montón de trabajo extra.Se supone que voy a ser la creación de fuertes escrito parciales para cada uno de estos?¿Y si el diseño diferente cada vez?

Actualmente tengo un BaseViewData clase que es utilizado por todos los puntos de vista, ya que contiene algunas propiedades comunes.Sin embargo, ahora estoy luchando para conseguir otros elementos sin hinchazón de los BaseViewData clase.

Por favor alguien me puede ayudar a entender la teoría de que todos los ejemplos simples no cubren.

¿Fue útil?

Solución

Yo uso el ViewData los métodos de extensión de MvcContrib que agrega soporte para múltiples modelos inflexibles (siempre lo hay de distintos tipos).Código para agregar a la ViewData se parece a esto:

User currentUser = GetCurrentUser();
List<Project> projectList = projectRepository.GetRecentProjects(currentUser);
ViewData.Add(user);
ViewData.Add(projectList);

Código de la vista, para tirar de ellos fuera se parece a esto:

User user = ViewData.Get<User>();
List<Project> projectList = ViewData.Get<List<Project>>();

Esto elimina la "magia de las cuerdas" y el tipo de fundición.Nota, este no hace nada con el Modelo de propiedad de la vista.

Otros consejos

Crear UNA clase de contenedor para siempre objeto en su sistema, y el uso de todos los puntos de vista - simple

Objetos con valor nulo, no existe una real sobrecarga

He encontré con el mismo problema. Creo que la solución general para la mayoría de la gente es crear una clase de contenedor que contiene los modelos de libros y autores que realmente desea, y pasar ese contenedor a la vista.

Sub-óptimo, sí, pero funciona. Espero que esto se solucionará en futuras versiones del marco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top