In ASP.net, wann binden Sie Ihre Rasteransichten? bei Page Load() oder Page Init() .... warum?Seite laden() oder Seite init()
Antwort
Sie sollten im Allgemeinen an oder nach Load() binden. Das Ereignis Init() soll Ihnen ermöglichen, dynamisch erstellte Steuerelemente vor Bindungsereignissen zu erstellen, damit sie vorhanden sind, wenn die Bindung stattfinden soll. Load() ist jedoch nicht die einzige Option ... Wenn Sie aus irgendeinem Grund die Bindung an ein Steuerelement verzögern müssen, können Sie auch das Ereignis PreRender() binden. Es ist auch möglich, in Load() weitere Einstellungen vorzunehmen, die DataBind() -Methode der Seiten aufzurufen und die Seitenbindungsereignisse zu verarbeiten, um bei Bedarf noch strukturierter zu binden.
Es hängt von dem speziellen Fall ab, aber die häufigste Antwort wäre Page_Load
, weil das im Allgemeinen für die meisten Datenbindungsszenarien ausreichend ist.
Auch für komplexe Datenbindung Szenarien Page_Init
würde nicht ein geeigneter Ort sein, weil Container-Steuerelemente wie Gridview nur während der Page_Load
Veranstaltung ihre Kinder laden. Sie müssen den Lebenszyklus weiter durchlaufen, um auf diese Kinder zugreifen zu können.
In meinem Fall wäre die Antwort jedoch "weder". Dies liegt daran, dass ich niemals eine Kontrolle direkt innerhalb von Page_Load
databind. Was ich stattdessen vorziehe, ist eine separate Methode, die die Datenbindung durchführt und von Page_Load oder einer anderen Funktion aufgerufen werden kann, wenn ich nach Postbacks neu binden muss.
- 1. Dynamisches Laden der Seite kann Java nicht laden mit Seite
- 2. Seite löschen, ohne Seite neu zu laden?
- 3. Benutzerdefinierte Ajax Seite Laden Shopify Collection Seite?
- 4. AngularJs: Seite neu laden
- 5. jQuery externe Seite laden
- 6. Python Kolbenanfragen laden Seite
- 7. asp.net gespenstische Seite laden
- 8. Seite springt beim Laden
- 9. Dynamische Select-Boxen Seite laden
- 10. automatisch div auf Seite laden
- 11. Laden HTML-Seite nach chrome.tabs.onCreated
- 12. aktualisieren Seite Informationen oder auf neue Seite
- 13. Ruby: Client-Seite oder Server-Seite?
- 14. Player positioniert Server-Seite oder Client-Seite?
- 15. Barcode Generation Server Seite oder Client-Seite?
- 16. Laden gif auf Seite loading
- 17. Nächste Seite in UIPageViewController laden
- 18. JQuery Suche auf Seite laden
- 19. Auto laden Popup auf Seite laden
- 20. jQuery Einblenden der Seite Laden
- 21. laden jquery in asp.net Seite
- 22. Handbuch Seite laden in WPF
- 23. Indizierung dynamisches Laden der Seite
- 24. Modernizr.js und Seite laden Leistung
- 25. jquery Ereignisse nach laden Seite
- 26. Launch FancyBox auf Seite laden
- 27. laden individuelle Wartung Seite Heroku
- 28. Datenbankdaten laden als dynamisch Seite
- 29. Hide Divs auf Seite laden
- 30. jquery ankern auf Seite laden
+1 für die Erwähnung von 'PreRender' (ich vernachlässige es zu erwähnen), weil es' EnsureChildControls' rekursiv auf allen Kindern aufruft. – Cerebrus
Irgendwelche Hinweise auf Best Practice? Bei so vielen Events zur Auswahl, scheint es als ob es keine klare beste Wahl gibt. Insbesondere PreRender vs. Control DataBinding Event-Handler. Argh, Gott sei Dank für MVC –
Ditto @ MVC. : D Was die beste Vorgehensweise angeht ... Beginnen Sie mit Load() und verfeinern Sie sie nach Bedarf. Load() ist im Allgemeinen der beste Startpunkt, wenn Sie nicht wissen, dass Sie später eine Bindung benötigen, oder einen bestimmten Grund haben, die gesamte Seite DataBind auszulösen. Meistens, wenn Sie in PreRender binden müssen, hängt es von einem Ausführungs- und Bestellproblem ab, das häufig dann auftritt, wenn alles, was an ein Steuerelement gebunden ist, davon abhängt, dass ein anderer Prozess zuerst abgeschlossen wird. – jrista