Kendo ui 在UpdatePanel中的AJAX回发后,如何重新选择KendoUI选项卡条

Kendo ui 在UpdatePanel中的AJAX回发后,如何重新选择KendoUI选项卡条,kendo-ui,updatepanel,Kendo Ui,Updatepanel,设置 我有一个Telerik Kendo UI标签,在一个UpdatePanel中有多个标签 <asp:UpdatePanel ID="DataDetails_Panel" UpdateMode="Conditional" runat="server"> <div id="ABIOptions_TabContainer"> <ul> <li>Attendance</li> <li>

设置
我有一个Telerik Kendo UI标签,在一个UpdatePanel中有多个标签

<asp:UpdatePanel ID="DataDetails_Panel" UpdateMode="Conditional" runat="server">
<div id="ABIOptions_TabContainer">
     <ul>
         <li>Attendance</li>
         <li>Grades</li>
         <li>Gradebook</li>
         <li>PFT</li>
         <li>Scheduling</li>
         <li>Miscellaneous</li>
         <li>Parent Data Changing</li>
     </ul>
 </div>
 </asp:UpdatePanel>
场景
用户将单击各个选项卡,每个选项卡内都是我们门户的设置。当他们在选项卡中对设置进行更改时,他们希望单击“保存”按钮,该按钮将通过ajax执行回发到服务器,因为它位于更新面板中

当前行为
在回发发生并且
ul
内容返回后,我重新应用kendoTabStrip设置函数调用,该函数不选择任何选项卡。在用户看来,这就像页面现在是空的,而它只有内容

所需结果
我想做的是,在部分回发发生并且UpdatePanel发回
ul
之后,我想重新选择用户先前选择的选项卡

什么已经起作用了
我已经有办法保留用户单击的选项卡:

var onMainTabSelect = function (e) {
        tabToSelect = e.item;
        console.log("onTabSelect --> ", e.item.textContent);
}
以及一个在调用时重置所选选项卡的功能:

function setMainTab() {
    if (!jQuery.isEmptyObject(tabToSelect)) {
        var tabStrip = $('#ABIOptions_TabContainer').data("kendoTabStrip");
        console.log("Attempt to set tab to ", tabToSelect.textContent);
        tabStrip.select(tabToSelect);
    } else {
        console.log("tabToSelect was empty");
    }
}
什么不起作用 我的假设是,当我在回发后调用
setMainTab
时,剑道标签条会说,“嘿,那个标签已经被选中了”:

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function () {
    BindControlEvents();
    setMainTab();
});
…因此,不会使我的账单减少。如果我点击标签,然后砰的一声,我所有的内容都在那里,就像我期望的那样


你知道我做错了什么吗?

我最终将
onMainTabSelect
方法更改为:

var onMainTabSelect = function (e) {
   tabToSelect = $(e.item).data("tabindex");
}
它为我的
ul
中的每个
li
获取数据tabindex值。我无法从剑道那里得到制表符索引,所以我不得不扮演自己的角色。一旦获得该值,就可以通过索引而不是选项卡对象引用本身来设置所选选项卡

var onMainTabSelect = function (e) {
   tabToSelect = $(e.item).data("tabindex");
}