【问题标题】:Calendar control on tabbed ascx page选项卡式 ascx 页面上的日历控件
【发布时间】:2013-03-05 03:23:12
【问题描述】:

我有一个包含 2 个选项卡的 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" />

【问题讨论】:

    标签: .net tabcontrol ascx calendar-control


    【解决方案1】:

    我以前在一个 aspx 页面中使用同一用户控件的多个实例时看到过类似的行为。您是否使用任何会话变量或视图状态?您需要确保为这些东西分配了唯一的 ID,否则,您将在控件之间混淆它们。您可以像这样重命名它们:

    ViewState(Me.UniqueID & "_SomeValue")
    

    Session(Me.UniqueID & "_someOtherValue")
    

    这会创建一个具有唯一 ID 的视图状态和会话变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多