【问题标题】:Set Active Tab for AJAX Tab Control为 AJAX 选项卡控件设置活动选项卡
【发布时间】:2012-03-08 17:06:22
【问题描述】:

我有一个使用 AJAX TabContainer 并有多个选项卡面板的网站。每个选项卡面板都包含一个客户用户控件,上面有许多控件。每当执行服务器端按钮单击事件时,我都需要能够设置活动选项卡。我将如何从后面的自定义控件 C# 代码访问 TabContainer?

我的标记结构如下:

<cc1:TabContainer ID="TabRoot" runat="server" Width="100%" CssClass="ajax__tab_yuitabview-theme" onActiveTabChanged="TabRoot_ActiveTabChanged" 
    OnClientActiveTabChanged="SetIndex" ActiveTabIndex="0" AutoPostBack="True">
      <cc1:TabPanel ID="TabPatientRoot" runat="server" HeaderText="Patient">
        <ContentTemplate>
              <custom:Patient ID="PatientInfo" runat="server" Visible="False"></custom:Patient>
        </ContentTemplate>
      </cc1:TabPanel>
</cc1:TabContainer>

服务器端代码必须在选项卡面板更改之前执行 SaveData 函数,因为每当活动选项卡发生更改时,它都会加载新选择的选项卡面板的信息,从而丢失之前未保存的任何信息标签面板。

我怎样才能完成服务器端SaveData函数的执行,然后访问TabRoot来改变活动标签?目前我正在使用 javascript 函数(在保存按钮的 OnClientClick 中)来设置活动选项卡,但它是在服务器端 SaveData 函数之前执行的。这似乎只是 IE9 用户的问题。

【问题讨论】:

    标签: c# javascript asp.net ajax


    【解决方案1】:

    像这样尝试并参考这个例子Ajax Control toolkit

    TabRoot.ActiveTabIndex = 0;  // set your active tab index to display. 
    

    【讨论】:

    • 我无权访问我的自定义控件 C# 代码中的那个 RootTab 控件。
    【解决方案2】:

    尝试在按钮回发事件中设置标签的 ActiveIndex

    【讨论】:

    • 我无权访问我的自定义控件 C# 代码中的那个 RootTab 控件。
    猜你喜欢
    • 2013-07-24
    • 2019-05-17
    • 2017-01-09
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多