之前可能已经多次询问过了,但我想知道如何维护AjaxControlToolKit TabContainer的ActiveTabIndex。
我能想到实现这样的事情的唯一方法是在会话中存储ActiveTabIndex并在回发时检查它。还有其他解决方案可以解决这个问题吗?
答案 0 :(得分:1)
最有可能this回答您的问题。当这些东西尚未保存在那里时,它们属于Page的ViewState。
编辑: 另一方面:我已经测试了它,我的ActiveTabIndex维持(异步)回发。
答案 1 :(得分:1)
没有必要把这个会话搞乱,玛拉基。
将其放入“ActiveTabChanged”事件处理程序中(假设您使用的是C#):
int iTabIndex = int.Parse(Request.Params["__EVENTARGUMENT"].Split(':')[1]);
然后根据“iTabIndex”的值执行您需要的任何逻辑。
答案 2 :(得分:0)
您需要为选项卡容器添加ActiveTabChanged事件,并且可以将活动选项卡索引保持在视图状态,并且在页面加载时只检查它是否为空,然后将其设置为活动选项卡索引。
protected void TabContainer1_ActiveTabChanged(object sender, EventArgs e)
{
ViewState["ActiveTabIndex"] = TabContainer1.ActiveTabIndex;
}
PageOnLoad事件代码
if (!(ViewState["ActiveTabIndex"] == null) )
{
TabContainer1.ActiveTabIndex = (int)ViewState["ActiveTabIndex"];
}
确保在TabContainer标记
中添加以下属性AutoPostBack="true" OnActiveTabChanged="TabContainer1_ActiveTabChanged"