我在 ASP.NET 中使用 Juice UI 选项卡功能,在代码隐藏中动态构建选项卡,并发现在调用 OnActiveTabChanged 时无法获取活动选项卡的索引/ID。所以这就是我的 ASPX 页面中的所有内容:
juice:Tabs ID="dataTabs" runat="server" AutoPostBack="true" OnActiveTabChanged="dataTabs_ActiveTabChanged" /
当 dataTabs_ActiveTabChanged 触发时,我找不到一个实际上具有已选择选项卡的索引/ID 的属性。dataTabs.Active 和 dataTabs.Selected 始终为 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)
想法?