ASP.NET项目中如何用JavaScript返回并刷新上一页?
解决ASP.NET返回上一页并自动刷新的问题
嘿,我完全懂你的烦恼——用javascript:history.go(-1)返回第一页后,修改的内容没显示出来,得手动按F5刷新才行对吧?作为ASP.NET新手,不想在控制器里加新方法的话,用几个简单的JavaScript方案就能搞定:
方案一:利用
document.referrer跳转(推荐)
这个方法会自动获取你之前所在的第一页的URL,然后直接跳转过去,触发页面重新加载(而不是从浏览器缓存读取),这样就能看到最新的修改内容了。代码很简单:window.location.href = document.referrer;你可以把这段代码绑定到返回按钮的点击事件上,比如:
<button onclick="window.location.href = document.referrer;">返回并刷新</button>方案二:直接指定第一页的路径
如果担心document.referrer为空(比如用户直接打开了第二页,没有从第一页跳转过来),可以直接把第一页的具体路径写进去,替换成你项目里第一页的实际路由,比如:window.location.href = '/Home/FirstPage'; // 这里替换成你的第一页URL
为什么原来的history.go(-1)不行?
原因很简单:浏览器为了提升加载速度,会把之前访问过的页面存在缓存里,history.go(-1)只是从缓存里取出页面,不会向服务器请求最新的内容,所以你看不到修改后的效果。而上面的方法是让浏览器重新向服务器发送请求,拿到最新的页面数据,自然就能显示更新后的内容了。
内容的提问来源于stack exchange,提问作者Oussama Hsini
相关产品推荐
相关产品推荐

