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

时间:2016-01-29 16:02:46

标签: javascript c# asp.net toastr

我正在使用asp.net ASPX页面。我已将toastr.js放在我的MasterPage上。它工作正常。我在一个页面上使用它,并且保存按钮保持在同一页面上,如下所示:

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

和一个Save& Continue按钮,可以保存并加载下一页,如下所示:

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

但是,当我点击“保存并继续”按钮时,它会闪烁通知,然后下一页加载并且它已经消失。在更改页面时没有持久性。

也许我对javascript细节模糊不清,但是有一些异步方式来加载Toast通知,因此它们不是特定于页面吗?

1 个答案:

答案 0 :(得分:1)

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

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

我唯一能想到的就是:

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

如果您真的想要将记录提交到数据库,导航并显示整个时间的toastr,您可能需要查看单页应用程序(允许您发出异步请求,使用路由,同时保持在同一页面,允许JS在没有完整页面刷新的情况下继续运行)。虽然这可能意味着重写您的应用程序,这可能不是一种选择。