【问题标题】:Redirect to another page is causing dup entries重定向到另一个页面导致重复条目
【发布时间】:2011-10-26 13:50:50
【问题描述】:

尊敬的专家。

你在之前的这个链接上帮助我解决了这个问题:

How to I redirect to another page *after* printing document?

直到今天早上我们讨论用户提交重复条目之前,一切似乎都运行良好。

这样做的原因是,一旦用户点击提交他们的请求,他们就会看到一个按钮,上面写着“>>>点击此处打印表单

要求用户打印此表格,但由于某种原因,他们忘记了这样做。

如果他们忘记打印此表单,他们将返回输入屏幕,其中的框仍保留他们最初输入的数据。

有没有办法将它们重定向到 results.aspx 页面,无论它们是否打印表单?

请查看当前代码,非常感谢。

<script type ="text/javascript">
    function doPrint() {
        var printContent = document.getElementById("pdmyop");
        window.print(printContent);
        document.location.href = "results.aspx";
    }
</script>

**********************************

<asp:Button ID="btnPrint" runat="server" Text=">>>Click Here To Print Form<<<<" OnClientClick="doPrint(); return false;" /> 

【问题讨论】:

  • 将元素传递给“print()”方法根本没有用;该方法总是打印整个文档。
  • 是的,它旨在打印整个文档。不过,我需要一些更严重的帮助。
  • 用户点击Sumbit按钮后为什么不调用该函数?
  • 这是我的提交代码。我怎样才能将两者结合起来?

标签: javascript asp.net vb.net


【解决方案1】:

您可以在 SubmitForm 过程的末尾添加此脚本:

String script = String.Format("window.print(); window.location = '{0}';", ResolveClientUrl("~/results.aspx"));
ClientScript.RegisterStartupScript(insub.GetType(), "print", script, true);

我希望你能把这段代码从 C# 翻译成 VB。如果将 insub 放置在 UpdatePanel 中,请使用 ScriptManager 而不是 ClientScript。

请注意,此代码在 Chrome 中不起作用(以及在打印文档之前重定向到不同页面的任何代码)

【讨论】:

  • 非常感谢尤里。它不适用于 chrome 的事实是一个问题。他们都使用chrome、ff和ie。但是我仍然保留原始帖子中所示的 js, 按钮吗?
  • 不,通过上述解决方法,您不需要在页面上添加额外的 javascript 或控件。该脚本将在提交过程执行后立即执行,无需任何额外工作。
  • 再次非常感谢您。我删除了我拥有的原始 javascript 并测试了您的代码,但没有打印图标。用户需要在单击提交表单按钮后立即打印文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
  • 2021-10-01
  • 2019-03-31
  • 2016-06-10
  • 2017-04-03
相关资源
最近更新 更多