Это сводит меня с ума.
У меня очень простой пользовательский элемент управления:
public int? ImageId {set; get;}
protected void Page_Load(object sender, EventArgs e)
{
... do something with ImageId...
}
Затем я помещаю этот элемент управления на страницу с ListView в 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>
Проблема в том, что Page_Load срабатывает ДО того, как ASP.NET устанавливает ImageId. С помощью отладчика я узнал, что по какой-то причине ImageId в MyControl IS SET, но это происходит только после завершения обработки Page_Load. Что случилось?