Frage

Was würden Sie realistisch verwenden OnItemDataBound für auf einem Repeater?

War es hilfreich?

Lösung

„Diese Veranstaltung bietet Ihnen die letzte Gelegenheit, das Datenelement zuzugreifen, bevor es auf dem Client angezeigt wird. Nachdem dieses Ereignis ausgelöst wird, wird das Datenelement auf Null gesetzt und nicht mehr verfügbar.“

~ http: // msdn .microsoft.com / en-us / library / system.web.ui.webcontrols.datagrid.onitemdatabound.aspx

Andere Tipps

Eine Verwendung dynamische Steuerungsgeneration auf Informationen basieren könnte, die nur von dem gebundenen Datenelement ist an der Zeit ist, den Repeater gebunden ist.

ich es benutzt habe, wenn ich die Daten, die ein Bit für jedes Element in der Repeater-Massage benötigt.

Es ist notwendig, wenn Sie ein einzelnes Element in der Vorlage mit dynamischen Kontrollen oder Daten anpassen möchten, die nicht Teil des Suchresultates war ursprünglich an den Repeater gebunden ist.

Denken Sie daran, wie diese. Als Ihr Element erstellt wird, werden alle OnDataBinding Ereignisse für diesen speziellen Punkt abfeuern. Es könnte viele Dinge, die ein Element so viele OnDataBinding Ereignisse aufbauen genannt werden könnte. Sobald alles fertig ist, das ist das Ereignis, das ausgelöst wird, so dass Sie einige letzte anwenden können ‚berührt‘ und alle OnDataBinding Ereignisse werden in dieser Zeit getan.

Eg. Sie füllt Artikel 10 Datenfelder und macht alle möglichen Sachen, wenn gebunden. Wenn alle diese Daten gefüllt ist, möchten Sie bestimmte Teile dieser Daten überprüfen, die nun etwas auf das gesamte Element wie die gesamte Zeile Farbe oder einige Symbole basierend auf Daten aus dem gesamten Objekt erstellt und festgelegt wurde.

Ich habe es verwendet, um einen verschachtelten Repeater zu implementieren. In der ItemDataBound Ereignisbehandlungsroutine der äußeren Repeater Sie den Code ausführen den aktuellen Eintrag der Instanz des inneren Repeater Databind.

Ich finde Datenbindung Syntax schwer zu lesen und zu debuggen. Ich glaube nicht, dass ich jemals etwas mit OnItemDataBound gemacht, dass ich nicht, indem sie einen Datenbindungsausdruck in das Markup getan haben könnte, aber wenn ich es später ändern will, muß ich es persönlich viel einfacher finden, um nur eingestellt eine Bruchstelle in OnItemDataBound und dann mit dem sofortigen Fenster zu, was ich gemacht haben soll. Ich bin auch ein Anhänger des scheinbar Fading (z Rubin) Diktum, dass Code und Markup sollten getrennt sein.

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