C# ASP.NET中的Juice UI选项卡-如何在代码隐藏中获取活动选项卡ID

C# ASP.NET中的Juice UI选项卡-如何在代码隐藏中获取活动选项卡ID,c#,jquery,asp.net,jquery-ui-tabs,C#,Jquery,Asp.net,Jquery Ui Tabs,我正在ASP.NET中使用Juice UI选项卡功能,在代码隐藏中动态构建选项卡,发现调用OnActiveTabChanged时无法获取活动选项卡的索引/ID。以下是我的ASPX页面中的所有内容: juice:Tabs ID="dataTabs" runat="server" AutoPostBack="true" OnActiveTabChanged="dataTabs_ActiveTabChanged" / 当dataTabs\u ActiveTabChanged激发时,我找不到一个属性实

我正在ASP.NET中使用Juice UI选项卡功能,在代码隐藏中动态构建选项卡,发现调用OnActiveTabChanged时无法获取活动选项卡的索引/ID。以下是我的ASPX页面中的所有内容:

juice:Tabs ID="dataTabs" runat="server" AutoPostBack="true" OnActiveTabChanged="dataTabs_ActiveTabChanged" /
当dataTabs\u ActiveTabChanged激发时,我找不到一个属性实际具有所选选项卡的索引/ID。dataTabs.Active和dataTabs.Selected始终为0

我需要在选择给定选项卡时在服务器端采取一些操作,但要做到这一点,需要能够知道实际单击了哪个选项卡。我在客户端使用了各种jQuery脚本,将隐藏对象设置为选项卡的值(tested activate和beforeActivate事件),但它们从不触发(在jQuery函数中放置了从不触发的警报),我认为这是因为我正在运行控制服务器端

编辑:根据请求添加我的代码示例

下面是我在页面加载时填充选项卡的基本方式:

protected void loadAndPopulateTabs()
    {
        Juice.TabPage utilityTab = new Juice.TabPage();
        utilityTab.Title = "Utilities";
        utilityTab.ID = "utTab";

        string utilTabText = "sometext";
        dataTabContent dtcUT = new dataTabContent(utilTabText);

        utilityTab.TabContent = dtcUT;
        dataTabs.TabPages.Add(utilityTab);
}
当前,我的OnActiveTabChanged处理程序的代码是相当空的,而我正在四处玩,看看我可以使用什么属性来获取所选选项卡:

protected void dataTabs_ActiveTabChanged(object sender, EventArgs e)
{
   int currentTab = dataTabs.Active;
}
我基本上是用这一行来打断,看看我是否能找到一种方法来获取任何信息,告诉我选择了哪个选项卡(sender.Active也总是显示0)

想法?

应该读一下这个
有一个页面生命周期
,如果要在代码隐藏中添加选项卡,请在init事件中添加

protected void PageInit(object o, EventArgs e){
    loadAndPopulateTabs();
}

protected void loadAndPopulateTabs()
    {
        Juice.TabPage utilityTab = new Juice.TabPage();
        utilityTab.Title = "Utilities";
        utilityTab.ID = "utTab";

        string utilTabText = "sometext";
        dataTabContent dtcUT = new dataTabContent(utilTabText);

        utilityTab.TabContent = dtcUT;
        dataTabs.TabPages.Add(utilityTab);
}

找到了一个解决方法。。。几天前,我把这个解决方案搞砸了,没能让它工作,但由于某种原因,今天就是这样。不知道我以前做错了什么。无论如何,我发现很多人都在使用jQuery选项卡,将所选选项卡存储在一个隐藏字段中,并在代码中访问该值。我将此添加到我的页面:

     <script type="text/javascript">
         $(function () {
             $('#dataTabs').tabs({
                 beforeActivate: function (event, ui) {
                     $('#<%=selectedTab.ClientID %>').val(ui.newPanel.attr('id'));
                 }
             });
         });
         </script>

$(函数(){
$(“#数据选项卡”).tabs({
beforeActivate:功能(事件、用户界面){
$('#').val(ui.newPanel.attr('id');
}
});
});
以及:



当dataTabs\u ActiveTabChanged激发时,selectedTab的值是所选选项卡的名称。我之前错过了这一点,这让我感到很遗憾。

显示您的代码已更新,很抱歉最初忽略了这一点。好吧,这修复了一件事,现在我实际上可以在dataTabs\u ActiveTab中更改选项卡计数以及每个选项卡的几乎所有其他细节,但仍然无法获取活动选项卡的索引或ID(活动始终显示0)。我肯定我在做一些愚蠢的事情,但我会继续做更重要的工作(这很好),然后再回来
     <asp:HiddenField runat="server" ID="selectedTab" />