如何在加载下一页时保持 toastr.js 通知打开状态

本文关键字:js toastr 通知 状态 加载 一页 | 更新日期: 2023-09-27 18:32:36

我正在使用 asp.net ASPX页面。我已经把toastr.js放在我的母版页面上。它工作正常。我正在带有"保存"按钮的页面上使用它,该按钮保持在同一页面上,如下所示:

ScriptManager.RegisterStartupScript(this, this.GetType(), "toastr", "toastr.info("Save successful.");", true);

还有一个保存并继续按钮,用于保存并加载下一页,如下所示:

ScriptManager.RegisterStartupScript(this, this.GetType(), "toastr", "toastr.info("Save successful.");window.location='NextPage.aspx';", true);

但是,当我单击"保存并继续"按钮时,它会闪烁通知,但随后加载下一页并且它消失了。在不断变化的页面之间没有持久性。

也许我对 javascript 细节很模糊,但是否有某种异步方法来加载 toast 通知,使它们不特定于页面?

如何在加载下一页时保持 toastr.js 通知打开状态

我对 ASP.NET WebForms了解不多,但这里有一些事情需要考虑:

问题是,当您使用服务器端代码(在本例中为 C#)提交和处理表单时,整个页面会重新加载,包括您的 javascript 文件。这就是为什么当您单击"保存并继续"时 toastr 消失的原因。

我唯一能想到的就是:

单击"保存并继续"时运行的方法需要将必要的信息传递到下一页,以便第二页知道显示 toastr 而不是第 1 页。

如果您确实想向数据库提交记录,请导航离开并让 toastr 显示整个时间,您可能需要查看单页应用程序(允许您使用路由发出异步请求,同时保持在同一页面上,允许 JS 继续运行而无需整页刷新)。尽管这可能意味着重写应用程序,但这可能不是一种选择。