我有一个 WebForms 页面,上面有几个.ascx UserControl实例。这些控件位于选项卡式视图 (asp:MultiView) 的某些选项卡上。因此,这些控件中只有一个是可见的。
这些控件显示来自远程服务的当前数据。我只想从远程服务获取数据一次,第一次显示每个控件(或用户单击显式刷新按钮)。该控件仅使用EnableViewState = true
.
我目前有
protected override void OnPreRender(EventArgs e) {
base.OnPreRender(e);
Refresh(); //call the web service
}
}
但这每次都会在显示时调用 Web 服务。
在页面上,我们有!Page.IsPostBack
诀窍,但这当然不适用于控件,尤其是在稍后显示时。
但是如何只获取“第一次显示”的数据呢?
注意:我知道我可以自己将其存储在 ViewState 上,但没有办法使用现有的方法/数据吗?