如何将选定的选项卡存储在 RadTabStrip 上,单击后退按钮即可返回

本文关键字:单击 按钮 返回 RadTabStrip 存储 选项 | 更新日期: 2023-09-27 17:57:24

我目前使用一个隐藏的输入字段,该字段通过javascript分配了刚刚选择的选项卡的值,如下所示:

function onTabSelecting(sender, args) {
    var tab = args.get_tab(); //get selected tab
    document.getElementById("MainContent_hdnPreviousTab").value = tab.get_text(); //assign value to hidden field
    if (tab.get_pageViewID()) { //ignore
    tab.set_postBack(false);
    }
}

然后,当页面返回到客户端 (ajax) PageLoad() 事件时,我使用此分配的值:

<script type="text/javascript" language="javascript">
    var runOnce = false;
    function pageLoad() {
        if (!runOnce) {
            var lastTab = document.getElementById("<%= hdnPreviousTab.ClientID %>");
            if (lastTab.value) {
                if (tabStrip) {
                    var tab = tabStrip.findTabByText(lastTab.value);
                    if (tab) {
                        tab.click();
                    }
                }
            }
            runOnce = true;
        }
    }
</script>

目前在IE中,这工作正常(我知道对吗?),以前在javascript中设置的值仍然存在,我能够使用用户离开页面的选项卡。但是在FF,Chrome等中,我没有这样的运气。隐藏字段将返回到其空状态(值 = "),无论是否使用视图状态。

非常好奇是否有人有适合这种情况的替代方法。如果不清楚,请告诉我。

非常感谢。

如何将选定的选项卡存储在 RadTabStrip 上,单击后退按钮即可返回

你可以使用本地存储。

localStorage.setItem('tab', value);