2013-04-26 57 views
0

我在ASP.NET中使用Juice UI选项卡功能,在代码隐藏中动态构建选项卡,并发现我无法当调用OnActiveTabChanged时,获取活动选项卡的索引/ ID。因此,这里是我的一切在我的ASPX页面:ASP.NET中的Juice UI选项卡 - 如何在代码隐藏中获取活动选项卡ID

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

而且dataTabs_ActiveTabChanged火灾的时候,我找不到实际上有一个已经选择的选项卡的索引/ ID的一个属性。这两个dataTabs.Active和dataTabs.Selected始终是0

我需要采取一些行动服务器端时,选定一个给定的选项卡,但要这样做,需要能够告诉哪个标签被实际点击。我已经在客户端使用各种jQuery脚本来设置一个隐藏对象到标签的值(测试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处理程序是相当空WHIE我玩,看看有什么财产,我可以用它来获得所选标签:

protected void dataTabs_ActiveTabChanged(object sender, EventArgs e) 
{ 
    int currentTab = dataTabs.Active; 
} 

我基本上使用一条线路上破看看我是否能找到一种方法来获取任何可以告诉我选择哪个标签的选项(sender.Active也总是显示0)

想法?

+0

显示你的代码隐藏 – Roar 2013-04-26 14:51:47

+0

更新,最初留下来对不起 – user2324088 2013-04-26 15:13:16

回答

0

应该阅读这http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
有一个页面生命周期
,如果你想在标签中添加代码隐藏做到在找到一种方法来对付它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); 
} 
+0

很酷,我会检查一下,今晚试试,谢谢! – user2324088 2013-04-26 15:26:47

+0

那么,这固定一件事,现在我实际上可以得到dataTabs_ActiveTabChanged中的标签计数以及每个标签的每个其他细节,但仍然无法获得活动标签的索引或ID(活动始终显示0)。我确信我正在做一些愚蠢的事情,但我会转向更关键的工作(这很好),然后再回来 – user2324088 2013-04-27 14:42:18

0

...几天前我搞砸了这个解决方案,并且无法工作,但由于某种原因,这是今天。不知道我以前做错了什么。无论如何,解决方案是我发现很多使用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的价值是被选中的选项卡的名称。踢自己以前错过了这个。

相关问题