2

ASP.NET Ajax Control Toolkit TabContainer の OnDemand 機能を試して、タブが読み込まれるまで高価な操作の実行を遅らせます。

私のページにはいくつかのタブがあり、各タブのコンテンツは単一のユーザー コントロールで構成されています

<ajaxToolkit:TabContainer ID="TabContainer1" ActiveTabIndex="0" OnDemand="True" runat="server">
    <ajaxToolkit:TabPanel ID="TabPanel1" HeaderText="tab 1" runat="server" >
        <ContentTemplate>
            <UC:Tab1 runat="server" />
        </ContentTemplate>
    </ajaxToolkit:TabPanel>
    <ajaxToolkit:TabPanel ID="TabPanel2" HeaderText="tab 2" runat="server">
        <ContentTemplate>
            <UC:Tab2 runat="server" />
        </ContentTemplate>
    </ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>

これらの各ユーザー コントロールは、継承したカスタム MVP フレームワークを使用してプレゼンターに接続されます。プレゼンターは OnLoad で実行されます

// In user control
protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    presenter.BuildView();  // this is what I want to delay until the tab is active
}

タブがアクティブであるかどうかに関係なく、OnLoad は常に呼び出されるため、アタッチするのに適切なイベントであることがわかります。タブがロードされたときにのみ発生する SqlDataSource の選択イベントで、ここで提供されている例と同じ効果を達成できるように、アタッチする適切なイベントは何ですか。

多分Renderをオーバーライドしますか?または CreateChildControls?

4

0 に答える 0