导航到另一个页面后如何保存文本框值

时间:2015-12-07 12:03:55

标签: javascript jquery asp.net

我有一个页面(比如示例页面),它由四个文本框组成,我给出了所有文本框的值,我在页面中有一个用于导航的按钮,点击时,它将导航到下一页并在那个页面我有后退按钮,当点击后退按钮时,它将进入示例页面,但我给出的值已被清除。

除IE 11浏览器外,所有浏览器都会清楚。有什么解决方案吗?

我正在使用asp.net文本框,我正在使用jquery从文本框中获取值。

导航到另一个页面后如何防止清除文本框。

提前致谢。

3 个答案:

答案 0 :(得分:0)

您可以使用localStorage

$(function() {
  var targetValue = localStorage.getItem('targetElVal');

  if (targetValue) { // if there is any value then set it.
    $('#targetEl').val(targetValue);
  }

  $('#targetEl').keydown(function(e) {
    var val = this.value;
    if (e.which === 13) {
      localStorage.setItem('targetElVal', val); // set the value
    }
  });




});

答案 1 :(得分:0)

要保持文本框值不变,您可能需要查看.NET Framework中提供的状态管理技术。

您可以尝试使用Session或QueryStrings甚至Cookie。您可以选择要使用的产品。

点击此链接:State Management Overview from MSDN

您需要先将TextBox值分配给Sessions,然后从Session中检索这些值并将它们分配回TextBox。

如果你在谈论浏览器后退按钮,事情可能会变得棘手,因为它无法从服务器端控制它的行为。但如果你试图在回发之间移动,那么肯定使用会话或饼干在这里可以提供帮助。

以下是使用会话的示例。在TextBoxes所在的页面上,您可以编写此文件以将TextBox值存储在Session中。这是在您导航到其他页面之前编写的。

Session["someKey"] = yourTextBoxID.Text;

现在当您按下后退按钮并发生回发时,您可以将其分配回会话中存储的值,如下所示:

yourTextBoxID.Text = Session["someKey"].ToString();

这是在!IsPostBack之外编写的,并且实现了空检查。

希望这有帮助。

答案 2 :(得分:0)

一种解决方案可以是拥有唯一ID,例如:用户ID作为键,值将是文本框的JSON值。

然后在window.beforeunload事件中,所有文本框值都可以存储在键

例如:localStorage.setItem(' unique_user_id_values',JSON.stringify([{input1:' foo'},{input2:' bar'}]) );

可以使用JSON解析方法检索这些值。 JSON.parse(localStorage的[' unique_user_id_values值'])