选项卡式ascx页面上的日历控件

时间:2013-02-20 17:48:37

标签: .net tabcontrol ascx calendar-control

我有一个ASPX页面,其中有两个标签。

每个标签代码都注册为ASCX。我在两个页面都有各自的自定义日历控件。现在,我的日历控件在组合页面上不起作用,但如果页面单独呈现则有效。

主ASPX页面中的代码

<%@ Page Language="VB" %>
<%@ Register Src="~/Content/Page1.ascx" TagPrefix="Content" TagName="Page1" %>
<%@ Register Src="~/Content/Page2.ascx" TagPrefix="Content" TagName="Page2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="PageBody" Runat="Server">
    <asp:ScriptManager ID="Main" runat="server" />
    <ajaxToolkit:TabContainer ID="tcRecords" ActiveTabIndex="0" runat="server">
        <ajaxToolkit:TabPanel ID="tpSuccess" HeaderText="Success Records" runat="server">
            <ContentTemplate>
                <Content:Page1 ID="P1" runat="server" />
            </ContentTemplate>
        </ajaxToolkit:TabPanel>
        <ajaxToolkit:TabPanel ID="tpFailed" HeaderText="Failed Records" runat="server">
            <ContentTemplate>
                <Content:Page2 ID = "P2" runat="server" />
            </ContentTemplate>
        </ajaxToolkit:TabPanel>
    </ajaxToolkit:TabContainer>
</asp:Content>

两个ASCX页面中的代码

<%@ Register Src="~/UIControls/Calendar.ascx" TagPrefix="UICtrl" TagName="Calendar" %>
<UICtrl:Calendar ID="Cal1" runat="server" />

1 个答案:

答案 0 :(得分:0)

在一个aspx页面中使用同一个用户控件的多个实例之前,我已经看到过这样的行为。您使用任何会话变量或查看状态?您需要确保使用唯一ID分配这些内容,否则,您将在控件之间混合它们。您可以像这样重命名:

ViewState(Me.UniqueID & "_SomeValue")

Session(Me.UniqueID & "_someOtherValue")

这会创建一个具有唯一ID

的视图状态和会话变量