这里有几个类似的问题,但没有一个真正满足我的需求.
我在一个页面上有一个项目列表,让它称之为masterlist.aspx.如果我点击一个这些列表项,则会出现另一个页面,即details.aspx?id = something.
出现的页面在编辑模式下有一个表单控件.如果用户想要编辑数据,他们会点击编辑链接按钮,并将表单发送到编辑模式,然后编辑数据,然后单击保存按钮,保存数据并将表单视图置于视图模式.
问题是如果用户使用浏览器返回按钮返回到masterlist.aspx页面,页面不会更新,则将其从浏览器缓存中拉出.
我已经玩过HTTP标头缓存设置,但不能得到任何适用于所有主流浏览器的东西.在某些浏览器上,我收到网页过期的警告.另一个选择是以某种方式触发页面刷新(或部分页面刷新),当页面加载使用客户端代码,但我还没有弄清楚如何做到这一点.
解决方法
我必须在一个目录中做这样的事情,在这个目录中,浏览页面需要从每个加载的DB中加载,因为当你打到一个产品页面时,它呼叫第三方获取更新的信息,然后保存它,如果它应该被更新.这是当你点击后退按钮,就像你说的数据被重新加载.我所做的是将其添加到页面中,似乎在所有浏览器中都可以正常工作.
public class ProductBrowser : Page { protected override void OnInit(EventArgs e) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore(); Response.Cache.SetExpires(DateTime.MinValue); base.OnInit(e); } }