【问题标题】:How to retain the values of Hidden Field at Page Refresh (F5)如何在页面刷新时保留隐藏字段的值 (F5)
【发布时间】:2014-02-24 18:45:21
【问题描述】:

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

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

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

【问题讨论】:

  • 你看了吗...???
  • 是的,我在发布到 stackoverflow 之前已经用谷歌搜索了它......
  • 我不确定,但你可以使用 html5 本地存储
  • 是的,我可以使用 Html Local Db,但我的项目不在 Html5 中
  • @RazoR 有一个 jquery 插件,jstorage.info

标签: c# jquery html asp.net


【解决方案1】:

您可以将其存储到 HTML5 localStorage 或 Session 或 cookie 中。对付恶魔你别无选择F5刷新...

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

Session["Value"]= Yourvalue;

要存储在localStorage 中,请使用下面的 sn-p。

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

解释于JSFIDDLE

希望对你有帮助

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我无法使用会话、视图状态和 Cookies 是我最后的选择,您还有其他想法吗...
    【解决方案3】:

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

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

    【讨论】:

    • 我不是在谈论回发...是的,我知道这些值在回发期间保留...但在我的情况下,我正在点击 F5(刷新)并且没有进行任何回发...
    【解决方案4】:

    你可以在客户端使用JS web storage,它看起来像这样:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2011-08-23
      相关资源
      最近更新 更多