2014-02-24 37 views
2

如何在页面刷新(F5)中保留隐藏字段的值。我在一个方法上设置hiddenfield上的值。基于这个价值,我展示并隐藏了Div。但是我想在刷新时保持页面的可见性。如何在页面刷新时保留隐藏字段的值(F5)

为此,我使用隐藏字段,但在刷新页面时,值不会保留在隐藏字段中。

if (some condition) 
{ 
    divCtrlSave.Visible = true; 
    hdnDivShowAlert.Value = "true"; 
} 
else 
{ 
    divCtrlSave.Visible = false; 
    hdnDivShowAlert.Value = "false"; 
} 

,现在我已经在页面加载检查以下内容:

if (hdnDivShowAlert.IsNotNull() && hdnDivShowAlert.Value=="true") 
{ 
    divCtrlSave.Visible = true; 
} 
else 
{ 
    divCtrlSave.Visible = false; 
} 
+0

你有没有瞪大眼睛它... ??? –

+0

是的,我已经用Google搜索它之前发布到stackoverflow ... –

+0

我不知道,但你可以使用html5本地存储 – midstack

回答

2

要么你可以将它保存到HTML5localStorage或Session或cookie。你没有任何其他的选择对付魔鬼F5刷新...

要将它存储在会话中,你可以像下面一样使用它。

Session["Value"]= Yourvalue; 

存储在localStorage使用下面的代码段。

var key = $("#key").attr('value'); 
var value = $("#value").attr('value'); 
localStorage.setItem(prefix + key, value); 

解释JSFIDDLE

希望它可以帮助

0

如果你想具体到客户端使用cookie或会话有价值的东西。

如果您正在寻找特定于服务器的某些内容,请使用静态类,应用程序或缓存值。

+0

我不能使用会议,viewstate和饼干是我的最后一个选择,你有任何其他想法... –

0

U可以在客户端使用JS的网络存储,它看起来就像是:

<script> 
    if (some condition) 
    { 
     sessionStorage.setItem('divCtrlSave',true); 
     sessionStorage.setItem('hdnDivShowAlert',true); 
    } 
    else 
    { 
     sessionStorage.setItem('divCtrlSave',false); 
     sessionStorage.setItem('hdnDivShowAlert',false); 
    } 
</script> 

,现在在页面加载:

<script> 
    var hdnDivShowAlert_storage=sessionStorage.getItem('hdnDivShowAlert'); 
    if (hdnDivShowAlert_storage && hdnDivShowAlert_storage=="true") 
    { 
     divCtrlSave.Visible = true; 
    } 
    else 
    { 
     divCtrlSave.Visible = false; 
    } 
</script> 
0

当你谈论一个页面刷新,我假设你是在回发期间的意思。隐藏场回传过程中保留其值,所以在代码中的Page_Load方法后面做检查,如:

if (IsPostBack == true) 
{ 
    if (hdnDivShowAlert.IsNotNull() && hdnDivShowAlert.Value=="true") 
    { 
     divCtrlSave.Visible = true; 
    } 
    else 
    { 
     divCtrlSave.Visible = false; 
    } 
} 
+0

我不是在谈论回传...是的,我知道在回发期间值保留...但在我的情况下,我打F5(刷新),并没有做任何回发... –

+1

回传和f5之间有一个区别刷新... –

相关问题