-->

ASP.NET中的TabContainer的回发维护ActiveTabIndex(ASP.NET M

2019-11-04 06:32发布

这可能已经被问了很多次,但之前我不知道如何维持AjaxControlToolKit TabContainer的的ActiveTabIndex。

我能想到的实现这样的事情的唯一方法是存储ActiveTabIndex在会话和回发检查此。 是否有任何其他的解决方案来解决这个问题?

Answer 1:

最有可能的这个回答你的问题。 这样的事情属于进入页面的ViewState中,当他们尚未保存在那里。

编辑:在另一方面:我测试过它,我ActiveTabIndex维持在(异步)回发。



Answer 2:

无需与会议上就此,玛拉基混乱。

只需在您的“ActiveTabChanged”事件处理程序删除此(假设你使用C#):

int iTabIndex = int.Parse(Request.Params["__EVENTARGUMENT"].Split(':')[1]);

然后,执行任何你需要的逻辑基于“iTabIndex”的价值。



Answer 3:

你需要添加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"


文章来源: ASP.NET Maintaining ActiveTabIndex on Postback within TabContainer