我有一个带有自定义用户控件的 ASP.NET 中继器,定义如下:
<asp:Repeater ID="feedCards" runat="server">
<ItemTemplate>
<vsan:card ID="card" VFeed='<%# Container.DataItem %>' runat="server" />
</ItemTemplate>
</asp:Repeater>
OnInit
中继器使用标准方法在后面的代码中进行数据绑定:
List<someObject> data = ...;
feedCards.DataSource = data;
feedCards.DataBind();
在我介绍需要定期更新页面上的数据之前,这很好用。页面上有一个asp:Timer
每 30 秒触发一次。当计时器触发时,它会检查一些服务器端数据,并在必要时更新页面。
问题是,当计时器触发时,我会丢失每个中继卡中的所有数据。显示了正确的卡片编号,但其中没有数据。
有没有办法让用户控件通过 asp.net 的回发来维护其数据?