【问题标题】:JavaScript alerting from a C# class来自 C# 类的 JavaScript 警报
【发布时间】:2008-11-18 14:19:14
【问题描述】:

我有一个 5 ASPX 页面wizard。 每个都包含一个SaveAndExit 按钮,该按钮在公共静态类上执行 C# 函数。保存后,C#代码重定向到另一个页面。

有没有办法在保存之后和加载新页面之前运行javascript: alert('Data Saved');

【问题讨论】:

    标签: c# asp.net javascript


    【解决方案1】:

    您必须在回发时注册一个启动脚本才能发出警报。然后在警报后通过 javascript 重定向。

    【讨论】:

      【解决方案2】:

      你不能完全按照你的意愿去做。

      C# 代码(服务器端)在页面已经回发并从浏览器卸载之前无法运行。因此,当您的服务器端代码运行时,就浏览器而言,页面甚至不再存在,运行您的 javascript 代码为时已晚。即使在回发的中间也是如此,即使回发的结果将是同一页。这就是为什么在某些情况下,ASP.Net 页面在回发期间会出现闪烁。

      因此,如果不通过某种 ajax 回调执行此操作,您将无法在保存数据后强制发出 javascript 警报——这当然是一种选择。另一种选择是让您重定向到的页面在某些情况下显示某种“数据已保存”消息;使用简单的东西来触发它,例如会话变量或加载时隐藏输入的值,因此对用户来说并不明显。

      但我认为最好的办法可能就是什么都不做。听起来如果保存失败,您将不会重定向。您甚至可能会显示某种错误。如果您的用户对您的应用没有足够的信心,即使没有错误消息,他们也不信任它,并且该应用已进入下一步,那么您就有麻烦了。

      【讨论】:

      • 他想在重定向到下一页之前提醒用户。
      • 保存数据后。如果不在那里添加额外的页面视图,那真的不是一个选择 - 选择一个或另一个。
      • 这是一个非常好的选项——正如我所说,在回发中注册一个启动脚本,会提醒用户。只有在该警报之后才会发生重定向。这是非常可能且非常受欢迎的选择。
      • 这意味着使用javascript进行重定向,我很确定他正在考虑服务器端重定向。
      • 他说的是'c#代码重定向',但是c#代码仍然可以确定重定向目标应该是什么。它不必在服务器上重定向......您在重绘业务目标时正在谈论技术解决方案。
      【解决方案3】:

      Vik,除非这是作业,否则我强烈建议你不要这样做。

      JavaScript 警报对大多数用户来说非常烦人,并且在这种情况下似乎完全没用,正如 Joel Coehoorn 所解释的那样。

      如果您坚持在保存时显示一条消息,请考虑添加一个会话变量,并在重定向页面的顶部显示“数据已保存”消息if 会话变量exist,然后删除会话变量。

      不过,正如 Joel Coehoorn 所说,如果出现错误,您绝对应该显示一条消息,但重定向应该是他们需要的所有“证据”,即他们的数据已保存。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-29
        • 1970-01-01
        • 1970-01-01
        • 2016-10-16
        • 2015-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多