2012-06-11 7 views
16

Der beste Rat, den ich für die Bearbeitung einer Liste mit variabler Länge der gefundenen Artikel wurde für ASP.Net MVC geschrieben 2 in 2008.MVC 4 - elegantere Möglichkeit, Listen mit variabler Länge zu bearbeiten?

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

Ist dieser Ansatz nach wie vor das beste für ASP.Net MVC 4, Oder gibt es eine neuere Lösung, die entweder standardisiert oder eleganter ist?

+0

Ich denke, die Leute machen so etwas über Ajax, wenn möglich. Es ist nicht nur aus Code-Sicht viel einfacher, es bietet eine bessere Benutzererfahrung. –

+0

@ JonGalloway können Sie auf ein Beispiel verlinken? –

+0

Es ist nicht so schlimm, wenn Sie die Liste nicht neu anordnen möchten. Sie können es komplett auf der Client-Seite machen, zum Beispiel mit knockoutjs, oder gehen Sie für eine gemischte Annäherung, indem Sie für jeden neuen Gegenstand eine Teilansicht durch Ajax ziehen. –

Antwort

7

Werfen Sie einen Blick auf http://knockoutjs.com/ ist es ein JavaScript-Framework, das auf dem MVVM-Muster beruht. Grundsätzlich können Sie Array-Modelle an Ihren HTML-Code binden und diese dann als JSON-Arrays an Ihren Controller senden. Ein großer Nebeneffekt ist, dass es hilft, Ihre Controller noch mehr Unit-Test-freundlich zu machen (weil Ihre Controller hauptsächlich JSON zurückgeben).

Es gibt eine große Video über Knockout bei http://channel9.msdn.com/Events/MIX/MIX11/FRM08

Im Grunde, was Sie bei beobachtbaren Arrays ist zu suchen. http://knockoutjs.com/documentation/observableArrays.html

Ich würde Ihnen auch wärmstens empfehlen, die 20-minütige Videoeinführung auf knockout.js zu sehen. Obwohl es ein älteres Video ist, gibt es dir eine gute Vorstellung davon, wie es funktioniert, es hat mir sehr geholfen. http://channel9.msdn.com/Events/MIX/MIX11/FRM08

Sie auch AngularJS verwenden können http://angularjs.org/, die das gleiche Konzept ist (MVVM), wird von Google löschte. Es gibt viele Unterschiede zwischen den beiden, aber die größte (ich habe zumindest bemerkt) ist in eckigen ist mehr Vertrauen in Templating, in vieler Hinsicht gibt es mehr Macht.

Zwischen den beiden denke ich, knockout ist einfacher aufzustehen, aber Sie haben mehr Möglichkeiten mit AngularJS.