我有一种情况,我坚持,并希望有人可以提供帮助。我正在构建一个.NET/C#web应用程序,在该应用程序中我有一个选项卡式面板布局,当用户单击每个选项卡时,显示面板使用javascript更新以隐藏和显示一些div。这些点击都不会导致回发,它都是客户端,所以我不能使用viewstate或session。javascript viewstate问题
我想要做的是以某种方式记住当页面刷新时哪个面板是最后一个可见的,但没有回发到服务器我不确定如何做到这一点。我尝试过隐藏字段,但显然每次都会重置其值,因为表单从未提交过。我知道我可以使用cookie来达到这个目的,但是为了实现这样一个(看似)微不足道的操作而有点烦人......但也许这是唯一的方法吗?
有没有人有任何更优雅的解决方案来解决这个问题?
使用这样的功能来显示和隐藏选项卡):
function makeCurrent(tab) {
if (tab.title == 'Manage orders') {
document.getElementById('panelOrders').style.display = "block";
// Hide others
document.getElementById('panelAccounts').style.display = "none";
document.getElementById('panelProducts').style.display = "none";
document.getElementById('panelSettings').style.display = "none";
// Remember last viewed panel
document.getElementById('hdnCurrentlyViewing').value = "orders";
}
的面板只是将style.display控制自己的知名度的div。不知道它是否有用发布HTML代码,因为它相当自我解释...?
你在做阿贾克斯吗? – 2010-07-13 11:19:32
没有ajax,希望避免,但显然我不能... – Ryan 2010-07-13 11:21:21
如果你只能假设最新的浏览器,那么就有HTML5网络存储API,因此你可以在浏览器上保存会话信息。 – Yellowfog 2010-07-13 11:37:18