果汁UI标签在ASP.如何在代码隐藏中获得活动选项卡ID

本文关键字:活动 选项 ID 代码 标签 UI ASP 果汁 隐藏 | 更新日期: 2023-09-27 18:11:05

我在ASP中使用Juice UI选项卡功能。. NET,在代码后面动态地构建选项卡,并发现当OnActiveTabChanged被调用时,我无法获得活动选项卡的索引/ID。下面是我的ASPX页面:

juice:Tabs ID="dataTabs" runat="server" AutoPostBack="true" OnActiveTabChanged="dataTabs_ActiveTabChanged" /

当dataTabs_ActiveTabChanged火灾时,我找不到一个属性,实际上有被选中的标签的索引/ID。dataTabs。活动和数据表。选择的总是0

当选择给定选项卡时,我需要在服务器端采取一些操作,但是要这样做,需要能够告诉实际单击了哪个选项卡。我在客户端使用了各种jQuery脚本,将隐藏对象设置为选项卡的值(经过测试的激活和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)

想法吗?

果汁UI标签在ASP.如何在代码隐藏中获得活动选项卡ID

应该读这个http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
有一个页面生命周期
,如果你想在代码后添加制表符,请在init event

中完成
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>

:

     <asp:HiddenField runat="server" ID="selectedTab" />

并且当dataTabs_ActiveTabChanged触发时,selectedTab的值是被选中的选项卡的名称。