C# 如何将所选选项卡存储在RadTabStrip上,单击“上一步”按钮可返回到RadTabStrip
我目前使用一个隐藏的输入字段,该字段通过javascript分配给刚刚选择的选项卡的值,如下所示:C# 如何将所选选项卡存储在RadTabStrip上,单击“上一步”按钮可返回到RadTabStrip,c#,javascript,ajax,telerik,C#,Javascript,Ajax,Telerik,我目前使用一个隐藏的输入字段,该字段通过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 fiel
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()事件时,我使用此赋值:
var runOnce=假;
函数pageLoad(){
如果(!runOnce){
var lastTab=document.getElementById(“”);
如果(lastTab.value){
如果(选项卡条){
var tab=tabStrip.findTabByText(lastTab.value);
如果(选项卡){
tab.单击();
}
}
}
runOnce=true;
}
}
目前在IE中,这一切都很好(我知道是吧?),之前在javascript中设置的值仍然存在,我能够访问用户留下页面的选项卡。但是在FF、Chrome等方面,我没有这样的运气。无论是否使用viewstate,隐藏字段都会返回为空状态(值=“”)
我很好奇,在这种情况下是否有合适的替代方法。如果不清楚,请告诉我
非常感谢。您可以使用本地存储
localStorage.setItem('tab',值)代码>谢谢你,伙计,事实上,这就是我最后决定要做的事情。
<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>