Ser*_*lev 10 c# asp.net properties pageload
这真让我抓狂.
我有一个非常简单的用户控件:
public int? ImageId {set; get;}
protected void Page_Load(object sender, EventArgs e)
{
... do something with ImageId...
}
Run Code Online (Sandbox Code Playgroud)
然后我将此控件放在UpdatePanel中的ListView页面上:
<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>
Run Code Online (Sandbox Code Playgroud)
问题是Page_Load在ASP.NET设置ImageId之前触发.在调试器的帮助下,我发现由于某种原因,MyControl中的ImageId是SET,但只有在Page_Load完成处理后才会发生.怎么了?