2009-04-09 15 views
2

Wenn das MVP-Muster auf ASP.NET-Anwendungen angewendet wird, wo passt die Verwendung von AJAX zum Posten von Daten? Von dem, was ich über das MVP-Muster weiß, ist das UI einfach das (Aussehen), und all das schwere Heben wird in dem Präsentator durchgeführt. Ich sehe nicht, wie Sie dem Muster folgen könnten und trotzdem AJAX verwenden, das mit Webdiensten auf dem Klienten interagiert. Hat jemand irgendwelche Hinweise darauf, wie man AJAX und Web-Services verwenden kann und trotzdem dem MVP-Muster folgt?ASP.NET MVP und AJAX-Posting/Webservices

Danke!

Antwort

5

Ich benutze den gleichen Ansatz mit AJAX wie mit einem regulären ASP.Net Post zurück. Die Ansicht empfängt den Post, übergibt ihn jedoch an den Präsentator, der die Verarbeitung verarbeitet. In der Ansicht analysiere ich gerade die Anfrage, die von AJAX kommt, und rufe dann die entsprechende Methode für die Presenter-Klasse auf.

Ein Webdienst kann als eine Ansicht betrachtet werden, die eine Nachricht "rendert" anstatt HTML zu rendern. Ich behandle den Webdienst als Ansicht und verwende einen Präsentator auf die gleiche Weise wie bei einer ASPX-Seite, mit dem zusätzlichen Vorteil, dass ich die Anfrage nicht analysieren muss.

Ich entkopple den Moderator von der Nachricht, die für den Webdienst die Verantwortung des Erstellens der Rücknachricht von den Ansichtsdaten, die von dem Präsentator zugewiesen werden, verlässt. Die Eingabenachricht ist auch nur auf der Web-Service-Ebene bekannt.

+1

Wie würden Sie z. pagen in einer DataList oder Repeater? würdest du das im Moderator oder in der Ansicht handhaben? – flalar