2012-06-11 8 views
16

El mejor consejo que he encontrado para la edición de una lista de longitud variable de los artículos fue escrito para ASP.Net MVC 2 en 2008.MVC 4 - ¿Una forma más elegante de editar una lista de elementos de longitud variable?

http://blog.stevensanderson.com/2008/12/22/editing-a-variable-length-list-of-items-in-aspnet-mvc/

¿Es ese enfoque sigue siendo la mejor opción para ASP.Net MVC 4, o hay una solución más nueva que sea estandarizada o más elegante?

+0

Creo que las personas están haciendo este tipo de cosas a través de Ajax cuando sea posible. No solo es mucho más simple desde la perspectiva del código, sino que ofrece una mejor experiencia de usuario. –

+0

@JonGalloway ¿puede vincular a algún ejemplo? –

+0

No está mal si no desea que la lista se pueda reorganizar. Puede hacerlo completamente en el lado del cliente usando knockoutjs, por ejemplo, o ir por un enfoque mixto tirando de una vista parcial a través de ajax para cada nuevo elemento. –

Respuesta

7

Eche un vistazo a http://knockoutjs.com/ es un marco de JavaScript que se basa en el patrón MVVM. Básicamente, puede vincular los modelos de matriz a su HTML y luego publicarlos como matrices JSON en su controlador. Un gran efecto secundario es que ayuda a que sus controladores sean más amigables con las pruebas de unidades (porque sus controladores principalmente devuelven JSON).

Hay un gran vídeo sobre el golpe de gracia al http://channel9.msdn.com/Events/MIX/MIX11/FRM08

Básicamente lo que desea mirar es matrices observables. http://knockoutjs.com/documentation/observableArrays.html

También recomendaría mucho ver la presentación de video de 20 minutos en knockout.js. Aunque es un video antiguo que te da una buena idea de cómo funciona, me ayudó mucho. http://channel9.msdn.com/Events/MIX/MIX11/FRM08

También puede utilizar AngularJS http://angularjs.org/ que es el mismo concepto (MVVM), se pone a cabo por Google. Hay muchas diferencias entre los dos, pero el más importante (me di cuenta al menos) es que en angular hay más dependencia de las plantillas, en muchos aspectos le da más poder.

Entre los dos creo que el nocaut es más fácil de poner en marcha pero tiene más opciones con AngularJS.

Cuestiones relacionadas