paginacion - ¿Cómo debemos pasar datos a una vista en un gran sitio web de ASP.NET MVC?
pasar datos de una vista a un controlador c# (2)
El enfoque MVC que debe usar siempre, especialmente para sitios simples, es ahorrarle tiempo y hacer que la aplicación sea más comprensible.
Si escribe algo más grande que dos páginas, debe usar el patrón MVVM (crecimiento de MVC), en ese caso escapará de usar "modelos parciales" con ViewModels.
El modelo debe contener solo lógica de busines.
Sería mejor si siempre usará ViewModel (no un modelo) para devolver datos desde una vista y pasarlos a la vista, ya que proporciona cierta seguridad.
Para facilitar el procedimiento de copia de datos de Modelos a Modelos de Vista, use cosas como AutoMaper y EmitMapper.
ViewBag y ViewData deben usarse solo para datos adicionales, como recopilaciones de elementos para DropDown, o algún título de página como texto de vista.
Una ventaja más del patrón MVVM es una mejor capacidad de prueba. Si escribe y admite sitios realmente peligrosos, puede escribir pruebas para algunas partes responsables del código.
Para obtener más información, puede consultar google - MVVM, ASP-MVC.
Si algo no comprende en su pregunta o falla, escríbalo en el comentario (ref de "agregar comentario").
Yo personalmente prefiero mantener mis sitios consistentes y siempre uso Model + Viewmodel (no importa cuán grande sea el sitio) a pesar del trabajo adicional (que de todos modos no es mucho).
Ayuda con la mantenibilidad. Sé dónde y cómo se almacena y codifica todo en el sitio.