Asp.net 在提交之前,按back键将使用右侧的值预先填充输入
使用以下htlm:Asp.net 在提交之前,按back键将使用右侧的值预先填充输入,asp.net,html,back,Asp.net,Html,Back,使用以下htlm: <html> <body> <form action="#"> <p><input type="text"></input></p> </form> </body> </html> 加载时,输入值为空。 将其更改为“1”并输入(提交) 页面将显示“1” 按“上一步”将使用输入的“
<html>
<body>
<form action="#">
<p><input type="text"></input></p>
</form>
</body>
</html>
加载时,输入值为空。
将其更改为“1”并输入(提交)
页面将显示“1”
按“上一步”将使用输入的“1”而不是初始状态(空)预先填充页面
我的真实世界应用程序是一个asp.net页面,页面顶部包含搜索输入,底部包含搜索结果。按下“后退”键时,字段将预先填充与下面显示的结果中显示的值不一致的值
如何使浏览器的“后退”按钮在页面中预先填充与历史对应页面的初始状态相对应的值
我不想禁用asp.net缓存,但如果没有其他选择,我也不介意。
不过,谷歌所有关于禁用缓存的点击都不起作用
更新我认为输入值应该与历史记录列表中条目的初始状态相对应。 事实似乎并非如此。它对应于post之前的状态
另一种方法是在文档加载完成时用JavaScript清除字段。另一种方法是在文档加载完成时用JavaScript清除字段。您可能会引入一个“虚拟”URL变量,以诱使浏览器相信它是一个全新的页面
www.example.com/form.aspx?dummy=3423902
使用一些javascript使浏览器使用新的随机dummy=
服务器只是读取这个值
我知道这将导致2回每次,但肯定会工作。请先使用http头“要求”浏览器不要缓存—尽管我相信您会说:
我宁愿不禁用asp.net
缓存,但不介意没有
可供替代的所有的谷歌点击
但是,禁用缓存不起作用
这不起作用。您可能会引入一个“虚拟”URL变量,以诱使浏览器相信这是一个全新的页面
www.example.com/form.aspx?dummy=3423902
使用一些javascript使浏览器使用新的随机dummy=
服务器只是读取这个值
我知道这将导致2回每次,但肯定会工作。请先使用http头“要求”浏览器不要缓存—尽管我相信您会说:
我宁愿不禁用asp.net
缓存,但不介意没有
可供替代的所有的谷歌点击
但是,禁用缓存不起作用
这不管用。这应该管用。这是一个jquery函数,因此您需要在页面中引用它。例如,这将把输入项的值设置为“A”。。。
$(document).ready(function() {
// this code will be run immediately after the page has displayed.
// "ROpt" is the id of the field.
$("#ROpt").val("A");
});
这应该行得通。这是一个jquery函数,因此您需要在页面中引用它。例如,这将把输入项的值设置为“A”。。。
$(document).ready(function() {
// this code will be run immediately after the page has displayed.
// "ROpt" is the id of the field.
$("#ROpt").val("A");
});
你确定任何缓存禁用(浏览器端)都不起作用吗?@m.edmondson:在进一步搜索之后,我找到了一种有效的方法。有点遗憾的是,我失去了缓存功能,但就这样吧…在我的情况下,我下面的答案是正确的-阅读底部的部分这里有一些解决方案,你确定任何缓存禁用(浏览器端)都不起作用吗?@m.edmondson:在进一步搜索之后,我找到了一种工作方式。有点遗憾的是,我失去了缓存功能,但就这样吧…在我的情况下,我下面的答案是正确的-阅读底部的部分这里有一些解决方案我不想清除它们,我想将它们设置为正确的值我不想清除它们,我想将它们设置为正确的值是,如果我能在编译时知道输入的值应该是什么,这将是一个选项。另外,通过Ajax调用获取它们需要我记录所有请求。是的,如果我能在编译时知道输入的值应该是什么,这将是一个选项。另外,通过Ajax调用获取它们需要我记录所有请求。这也是不可能的。第一个选项会起作用,尽管我认为它有点牵强,仍然会使我失去所有缓存。第一个选项会起作用,尽管我认为它有点牵强,仍然会使我失去所有缓存。