2009-05-27 8 views
1

Ich habe ein Data Grid und ein Update Panel. Jetzt habe ich nur über einige Blogs nachgedacht und festgestellt, dass Sie möglichst wenig Update Panels verwenden sollten. In meinem Fall, wo ich ein Datagrid und ein Update-Panel habe, was wäre die beste Situation?Was sind die besten Verfahren für die Verwendung von AJAX mit DataGrids?

1) Halten Sie das Datagrid im Aktualisierungsbereich.

2) Verwenden Sie ein Update-Panel in ItemTemplates. Also nur wenn ich nur die ausgewählte Zeile aktualisiere wird nicht das ganze Raster aktualisiert.

+0

Welche Sprache verwenden Sie? – joshdick

+1

Ich bin auch ein bisschen verwirrt, Sie sprechen über was genau? – Peter

+1

Ich benutze VB.NET und ich bin verwirrt, wenn ich Datagrid in einem Update-Panel behalte oder ein Update-Panel in ein DataGrid innerhalb von ItemTemplate lege. – Mohit

Antwort

2

Leider, wenn Ihr DataGrid nicht sehr groß ist, wird es keinen großen Unterschied machen.

Der Großteil Ihres Overheads besteht in der Wiederherstellung der Seite. Selbst wenn Ihr UpdatePanel nur eine gerenderte Zeile zurücksendet, muss die gesamte Seite, einschließlich des gesamten DataGrid, neu erstellt und gerendert werden, bevor der entsprechende Abschnitt von HTML extrahiert und zurück an den Browser gesendet werden kann.

Wenn das, was Sie haben, funktioniert, würde ich es in Ruhe lassen und alle laufenden Bemühungen auf einen kundenorientierten Ansatz konzentrieren, bei dem enorme Leistungssteigerungen erzielt werden müssen.

+0

Hey Dave, wie geht es dir? Ja, mein Datagrid ist groß. Und deshalb stelle ich diese Frage. Was wäre dein Vorschlag? Sollte ich jetzt Update Panels verwenden oder in Richtung Jquery oder JSON bewegen? Bitte helfen Sie mir. – Mohit

+0

Für die Leistung ist eine clientseitige Technik (jQuery, JSON, usw.) definitiv der richtige Weg. Es gibt keine Möglichkeit, ein UpdatePanel vergleichbar auf einer komplexen/großen Seite auszuführen. –

1

Wenn Leistung Ihr Ziel ist, beginnen Sie mit dem DataGrid. Die Menge an Müll, die es im Viewstate speichert, ist erstaunlich.

UpdatePanels sind an und für sich nicht annähernd so schlecht wie ein DataGrid.

+0

Nun, ich weiß über den Müll, den es speichert. Aber ich brauche das jetzt. Was wäre also im aktuellen Kontext die beste Option für mich? – Mohit

+0

Egal, was Sie tun, wenn Sie updatepanels verwenden, wird der gesamte Viewstatus trotzdem zurückgesendet. Bleiben Sie also bei Punkt 1, weil weniger Code zu pflegen ist und Probleme leichter zu lösen sind; oder, 2 Update-Panels komplett zugunsten eines anderen Ansatzes loszuwerden. Und mit anderer Herangehensweise meine ich NICHT, die .Net-Version von Ajax zu verwenden. – NotMe

+0

Ich dachte nur an eine weitere Option. Verwenden Sie stattdessen JSON-Anforderungen. Dies führt zu einem viel geringeren Datenverkehr zwischen dem Browser und dem Server. http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/ – NotMe

Verwandte Themen