ASP.NET Benutzer-Steuerung: Page_Load-feuert, bevor-Eigenschaft festgelegt ist

Dieser macht mich verrückt.

Habe ich eine sehr einfache Benutzer-Steuerung:

public int? ImageId {set; get;}

protected void Page_Load(object sender, EventArgs e)
{
     ... do something with ImageId...
}

Und dann habe ich das Steuerelement auf die Seite mit der ListView innerhalb UpdatePanel:

<asp:ListView ID="ListViewImages"  runat="server" DataSourceID="src">
  <LayoutTemplate>
    <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
  </LayoutTemplate>
  <ItemTemplate>
    <My:MyControl ImageId='<%# Eval("Id") %>' ID="cipPreview" runat="server"  />
  </ItemTemplate>
</asp:ListView>

Das problem ist Page_Load-feuert, BEVOR ASP.NET setzt ImageId. Mit debugger-Hilfe fand ich heraus, dass aus irgendeinem Grund, ImageId in MyControl IST GESETZT, aber es passiert nur nach dem Page_Load-fertig verarbeitet. Was ist falsch?

Schreibe einen Kommentar