如何在页面刷新时保留隐藏字段的值(F5)

时间:2014-02-24 09:45:40

标签: c# jquery html asp.net

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

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

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;
}

4 个答案:

答案 0 :(得分:2)

您可以将其存储在HTML5 localStorage或会话或cookie中。你没有任何其他选择反对恶魔F5刷新......

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

Session["Value"]= Yourvalue;

要存储在localStorage下方,请使用以下代码段。

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

JSFIDDLE

中解释

希望有所帮助

答案 1 :(得分:0)

如果您想要特定于客户端的内容,请使用cookie或会话值。

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

答案 2 :(得分:0)

你可以在客户端使用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>

答案 3 :(得分:0)

当你在谈论页面刷新时,我认为你的意思是在回发期间。隐藏字段在回发期间保留其值,因此在后面的代码中的Page_Load方法中进行检查,如:

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