2008-09-16 7 views
46

Ich habe eine ASP.NET-Webseite, die eine Vielzahl von Feldern anzeigt, die am besten unter bestimmten Bedingungen aktualisiert werden müssen, Button-Klicks und so weiter. Wir haben AJAX implementiert und verwenden das ASP.NET Update Panel, um sichtbare Postbacks zu vermeiden.Ein Update-Panel im Vergleich zu mehreren Update-Panels

Ursprünglich gab es nur einen Bereich, der diese Fähigkeit brauchte ..., die bald auf andere Felder erweitert wurde. Jetzt hat meine Webseite mehrere UpdatePanels.

Ich frage mich, ob es am besten wäre, das gesamte Formular in ein einzelnes UpdatePanel zu wickeln oder die einzelnen UpdatePanels zu behalten.

Welche Best Practices für die Verwendung des ASP.NET UpdatePanel?

+0

Schön erklärten hier: - https://www.youtube.com/watch?v=Jt2qEscELY0 –

Antwort

46

Mehrere Panels sind viel besser. Einer der Hauptgründe für die Verwendung von UpdatePanels ist, den Datenverkehr zu reduzieren und nur die Teile, die Sie benötigen, über die Leitung hin und her zu senden. Indem Sie nur ein Update-Panel verwenden, machen Sie jedes Mal einen vollen Post zurück, Sie verwenden nur ein wenig Javascript, um die Seite ohne Flimmern zu aktualisieren.

Wenn es Teile der Seite gibt, die zusammen aktualisiert werden müssen, gibt es Möglichkeiten, andere Panels zu aktivieren, wenn sie aktualisiert werden. Aber Sie sollten auf jeden Fall mehrere Update Panels verwenden.

1

Ich bin mir nicht sicher über die Best Practices, aber meiner Erfahrung nach funktionieren mehrere Panels gut und reduzieren gleichzeitig die Menge der gesendeten Daten - was insgesamt zu einer längeren Reaktionszeit führt. Mehrere Panels verringern zudem die Komplexität jedes Serveraufrufs.

5

Ich glaube, es ist am besten, mehrere UpdatePanel zu verwenden, wenn Sie wegen der Größe der POST, die das UpdatePanel generiert, können. Es ist noch besser, wenn Sie manuelle AJAX-Ansätze für kleine Dinge wie das Aktualisieren eines Feldes verwenden können. Das WPF bietet einige JavaScript-Funktionen und Methoden, um dies zu erreichen. Hier einige Link, die hilfreich sein können:

35

Ich warne würde, dass mit mehreren Update-Panels Sie vorsichtig sein soll. Stellen Sie sicher, dass Sie den UpdateMode auf Conditional setzen. Andernfalls, wenn ein Update-Panel auf den Server "zurückgebucht" wird, werden alle zurückgeschickt.

ich sehr diese Tools würde vorschlagen, mit

Web Development Helper (hier ist eine kurze Anleitung Web Development Helper and ASP.NET Ajax)

Fiddler

+5

+1 für die Erwähnung bedingten – Marcel

2

ich mehrere Update empfehlen. Durch die Verwendung mehrerer Update-Panels bleibt die wahre Bedeutung der Verwendung von updatepanel in asp.net-Webanwendungen erhalten. Und da wir sogar ein Updatepanel von einem anderen Updatepanel aus starten können, ist es einfacher, seitenweite Controls und Verhaltensweisen zu programmieren.

2

Ich stimme völlig zu Multiple Update Panel zu verwenden, anstatt einzelne Update-Panel zu verwenden, Wenn nur ein bestimmtes Teil Postback sein soll Wenn Sie gesamte Seite Postback werden möchten, ist es besser, einzelne Update-Panel zu verwenden.

Stellen Sie sicher, dass Sie den updatemode = "conditional" für alle updatepanel vornehmen, sonst wird das gesamte updatepanel aktualisiert.

Auch die folgenden Beitrag für die vollständige Nutzung für Update-Panel

http://www.codeproject.com/KB/aspnet/Select_List_Box.aspx

7

Jede dieser Antworten Schauen Sie sich nicht maintainabiliy Vergleich zwischen den Entscheidungen erwähnt. Die dritte Option ist, dass Sie kein Update-Panel verwenden und sich selbst dem umgekehrten Ajax überlassen. Schauen Sie sich die interessanten Projekte: PokeIn und VisualJS.NET

Verwandte Themen