非活动TabPanel运行渲染生命周期asp.net

时间:2013-02-16 00:22:05

标签: asp.net tabcontainer prerender

我有一个带有5个标签的TabContainer。这非常简单。每个选项卡上都有一组用户控件。 TabContainer本身设置为OnDemand =“True”。某些用户控件已定义PreRender覆盖。

我注意到,即使PreRender不在活动选项卡上,也会调用PreRender。我知道这是页面上控件的正常页面生命周期,但在这种情况下有没有办法阻止隐藏标签的流程?

我知道在MultiView控件的情况下,隐藏的控件不参与渲染生命周期。

这是代码的一小部分,减去其他几个标签。一般的问题是,在PreRender上我们加载了数据并做出了一些数据决策,而在数据密集度较高的选项卡上,它会减慢速度,这一点也不会成为问题。

        <asp:TabContainer ID="tabMain" runat="server" ActiveTabIndex="0" OnDemand="true"
        AutoPostBack="false" TabStripPlacement="Top" CssClass="TabMenu" ScrollBars="Auto"
         Width="1250" UseVerticalStripPlacement="false" VerticalStripWidth="120px">
        <asp:TabPanel ID="tabEmployeeData" runat="server" HeaderText="Data" OnDemandMode="Always"
            Enabled="true" ScrollBars="Auto">
            <ContentTemplate>
                <%= DateTime.Now.ToLongTimeString() %>
                <table class="GeneralTable">
                    <%--Employee Information--%>
                    <tr>
                        <td>
                            <asp:ControlEmployeeData ID="ControlEmployeeData1" runat="server" Width="981px" />
                            <br />
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:TabPanel>
        <asp:TabPanel ID="tabContactData" runat="server" HeaderText="Contact" OnDemandMode="Always">
            <ContentTemplate>
                <%= DateTime.Now.ToLongTimeString() %>
                <table class="GeneralTable">
                    <tr>
                        <td colspan="2">
                            <asp:ControlEmployeeAddressData ID="ControlEmployeeAddressData1" runat="server" />
                            <br />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <asp:ControlEmployeePhoneData Width="450px" ID="ControlEmployeePhoneData1" runat="server" />
                            <br />
                        </td>
                        <td>
                            <asp:ControlEmployeeEmailData Width="450px" ID="ControlEmployeeEmailData1" runat="server" />
                            <br />
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <asp:ControlEmployeeEmergencyContactData ID="ControlEmployeeEmergencyContactData1"
                                runat="server" Width="981px" />
                            <br />
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:TabPanel>
    </asp:TabContainer>

0 个答案:

没有答案