ASP.NET-Benutzersteuerelement: Page_Load wird ausgelöst, bevor die Eigenschaft festgelegt wird

8

Das macht mich verrückt.

Ich habe eine sehr einfache Benutzerkontrolle:

%Vor%

Und dann setze ich dieses Steuerelement auf die Seite mit ListView in UpdatePanel:

%Vor%

Das Problem ist, dass Page_Load ausgelöst wird, bevor ASP.NET ImageId setzt. Mit Debugger-Hilfe habe ich herausgefunden, dass ImageId in MyControl IS SET aus irgendeinem Grund ist, aber es passiert erst, nachdem Page_Load die Verarbeitung beendet hat. Was ist los?

    
Sergey Kovalev 05.09.2009, 16:26
quelle

1 Antwort

9

Das liegt wahrscheinlich daran, dass die Datenbindung auf der ListView nach dem Auslösen von Page_Load erfolgt. Daher wird Ihre Eigenschaft zu diesem Zeitpunkt nicht festgelegt. Sie können Ihren Code in das PreRender-Ereignis verschieben, da er nach Abschluss der Datenbindung aufgerufen wird.

Weitere Informationen finden Sie in MSDN :

PreRender - Bevor dieses Ereignis eintritt:

  • Das Page-Objekt ruft EnsureChildControls für jedes Steuerelement und für die Seite auf.
  • Jedes datengebundene Steuerelement, dessen DataSourceID-Eigenschaft festgelegt ist, ruft seine DataBind-Methode auf.
patmortech 05.09.2009, 16:46
quelle

Tags und Links