如何在 mvc 中自动重定向后删除特定的历史记录

Posted

技术标签:

【中文标题】如何在 mvc 中自动重定向后删除特定的历史记录【英文标题】:How to remove specfic history record after auto rediret in mvc 【发布时间】:2017-02-09 09:56:30 【问题描述】:

我的问题是 当我从索引视图提交表单时,我选择了一些 记录并发送到控制器并继续下一个视图 这是我的代码

@using ReportViewerForMvc;    
<script>
    $(document).ready(function () 
        window.setTimeout(function () 
            window.location.href = "/FOO/Login/Home";
        , 300000);
    );  
</script>
@
    ViewBag.Title = "Report Viewer";
  

@html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer)

在此视图中,应用条件后页面成功重定向到主页,但 当最终用户单击浏览器中的后退按钮时,它会显示与相同的报告 结果

按下后退按钮时如何处理上一条记录 或不将历史记录保存在浏览器 cookie 或缓存中

【问题讨论】:

也许可以禁用后退按钮。允许在您的站点中重新提交数据是一个潜在的危险问题。 我无法禁用浏览器后退按钮,它要求启用该按钮并且不再移动到以前的报告 您能否存储当前报告 ID/名称为会话。然后在controller处理请求的时候,查看要处理的report是否和is session一样。 @Wheels73 但用户可以从索引视图中看到报告,最终用户希望在您看到报告的情况下用户无法看到报告 阅读一下...我不知道你能达到你想要的。 ***.com/questions/21953384/… 【参考方案1】:

您无法删除整个后退按钮历史记录。你所能做的就是用下一页替换最后一个条目,使用window.location.replace('url');

或者您可以使用以下方法禁用后退按钮:

<script type="text/javascript">
    window.onload = window.history.forward(0);
</script>

【讨论】:

以上是关于如何在 mvc 中自动重定向后删除特定的历史记录的主要内容,如果未能解决你的问题,请参考以下文章

在asp.net mvc中注册成功(重定向到登录)后用户名自动填写登录页面

如果会话超时,如何在 MVC 中的 jquery ajax 调用后重定向到新页面?

如何在mvc中单击按钮时重定向到另一个页面和特定的div

记录历史命令,history,命令补全和别名通配符输入输出重定向

如何使用 react-router-dom v6 中的历史对象重定向到特定页面

shell 命令,别名,通配符,重定向