后退按钮刷新页面

Chr*_*rds 16 asp.net

这里发布了一些类似的问题,但没有一个真正满足我的需求.

我在一个页面上有一个项目列表,我们称之为masterlist.aspx.如果我点击其中一个列表项,则会出现另一个页面,即details.aspx?id = something.

出现的页面在编辑模式下具有表单视图控件.如果用户想要编辑数据,他们会点击编辑链接按钮,然后将表单发送到编辑模式,然后他们编辑数据并单击保存按钮,保存数据并将表单视图重新置于查看模式.

问题是,如果用户使用浏览器后退按钮返回到masterlist.aspx页面,页面不会更新,则会将其从浏览器缓存中拉出.

我已经使用了HTTP标头缓存设置,但无法获得适用于所有主流浏览器的任何内容.在某些浏览器上,我收到网页过期警告.另一种选择是在使用客户端代码加载页面时以某种方式触发页面刷新(或部分页面刷新),但我无法弄清楚如何执行此操作.

是否有任何其他方法或有任何人成功使用上述两种方法,或者是否有某种方法可以完全避免这个问题.

Bri*_*iec 34

我必须在目录中执行类似这样的操作,其中浏览页面需要在每次加载时从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);
    }
}
Run Code Online (Sandbox Code Playgroud)