Frage

Vor kurzem habe ich über eine subtile Einschränkung in Gridview Paging-Mechanismus bemerkt. Effiziente Paging, Laden nur die angeforderte Seite von Daten ist nur möglich mit der Verwendung von Datasource-Steuerelemente wie Object das bedeutet Daten deklarative Bindung und ist unmöglich, wenn keine Datenquelle verwenden und nur von Code-Behind (MSDN beschreibt es hier ).

Enthält diese Mittel ASP.NET basiert auf deklarative Programmierung keinen Code hinter? Und es ist besser deklarative Programmierung von Standard zu tun?

War es hilfreich?

Lösung

Von dem Kasten WebForms versucht man den deklarativen Pfad zu lenken, nach unten. Sie können umgehen, dass und tatsächlich Code schreiben, aber WebForms macht es extrem schwierig.

Wenn Sie wirklich die Kontrolle haben wollen, dann sollten Sie die ASP.NET MVC-Framework suchen.

Andere Tipps

ASP.Net verwendet beides: Markup deklarative ist, Code-behind ist zwingend notwendig.

Sie sollten einen Stil, dass führt zu mehr deklarativen Code bevorzugen - Aufbau Benutzersteuerungen, zum Beispiel. Aber diese Kontrollen müssen noch zwingend notwendig, Code, der ihnen sagt, wie sie sich verhalten.

ich am Ende meines eigenes Paging tat die SQL ROWNUMBER Funktion.

select * from
( select row_number() over (order by pk asc) as rownumber, * from ...)
where row_number between @a and @b

ich am Ende gehe deklaratives haupt nicht - stattdessen eine Datenquelle der Fütterung der Parameter I (die man könnte feasibly tun) hinter dem Code gerade geschaffen, alles in der die Datenquelle manuell eingestellt, den Pager von Hand gebaut

Der Grund, warum ich es tat so? Ein Fehler in 3.5 des querystringfield Parameter Handhabung .

ich wahrscheinlich die Objektdatenquelle mit row_number behandelt haben könnte, aber Sie nicht Haben etwas deklarativ tun, wenn Sie nicht kümmern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top