我有一个页面(比如示例页面),它由四个文本框组成,我给出了所有文本框的值,我在页面中有一个用于导航的按钮,点击时,它将导航到下一页并在那个页面我有后退按钮,当点击后退按钮时,它将进入示例页面,但我给出的值已被清除。
除IE 11浏览器外,所有浏览器都会清楚。有什么解决方案吗?
我正在使用asp.net文本框,我正在使用jquery从文本框中获取值。
导航到另一个页面后如何防止清除文本框。
提前致谢。
答案 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值'])