【问题标题】:How do I keep toastr.js notifications open when I load the next page?加载下一页时如何保持 toastr.js 通知打开?
【发布时间】:2016-01-29 16:02:45
【问题描述】:

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

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 通知,因此它们不是特定于页面的?

【问题讨论】:

    标签: javascript c# asp.net toastr


    【解决方案1】:

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

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

    我唯一能想到的就是这个:

    当您单击 Save&Continue 时运行的方法需要将必要的信息传递到下一页,以便第二页知道显示 toastr 而不是 page1。

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

    【讨论】:

    • 我给你答案是因为你迷惑了我的头脑。我知道这应该是可能的,但遇到了障碍。 SPA 正是我的大脑无法理解解决方案的环境。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多