【问题标题】:Open a new browser window via C# Button click通过 C# 打开一个新的浏览器窗口 按钮单击
【发布时间】:2011-06-09 12:56:02
【问题描述】:

这里有一些关于我正在尝试做的事情的背景信息:

  • 我有一个客户视图页面;在该页面上,有一个按钮可以记录新的通话记录。单击此按钮将重定向到新的呼叫页面。
  • 在新的呼叫页面上,用户可以选择一些复选框来触发其他操作(即他们的订单有问题,他们有产品推荐等)
  • 提交通话记录后,用户将通过Response.Redirect 回到客户查看页面

现在,我在这里尝试做的是,如果用户选择了附加操作复选框之一,我仍然希望呼叫页面重定向回客户视图页面;但是,我也想在自己的窗口中打开相应的附加操作页面。

因此,生成的流程将如下所示:

  • 用户打开客户页面,然后单击新呼叫。浏览器重定向到调用页面
  • 用户选择“订单问题”并保存通话记录。通话记录页面重定向回客户查看页面
  • 随后会在新窗口中弹出质量报告页面(用于解决订单问题)。

谷歌搜索告诉我使用ClientScript.RegisterStartupScript,但所有这些示例都没有涉及重定向。关于如何让它发挥作用的任何想法?

【问题讨论】:

  • 这个想法是你会放一些 JS 在你重定向到的页面中启动一个弹出窗口,然后打开弹出窗口。但是这不起作用,因为浏览器(使用默认设置)不会让页面在没有用户点击的情况下打开弹出窗口。您需要做的是从第一页启动弹出窗口,作为单击按钮的结果,就像@BalaR 的回答一样。或者根本不使用弹出窗口。

标签: c# web-applications redirect .net-4.0


【解决方案1】:

您可以使用OnClientClick 和一些javascript 来显示弹出窗口。

<asp:Button ID="Button1" OnClick="Button1_Click" OnClientClick="showPopup()" />

并使用OnClick 服务器端事件处理程序进行重定向。

【讨论】:

    【解决方案2】:

    您需要通过 javascript 确定需要弹出窗口,并在 POST 发生之前弹出页面您需要在重定向后弹出页面。

    要在重定向后弹出窗口,请存储一些信息(例如使用 SessionState),以便 CustomerViewPage 可以检查是否需要弹出窗口。如果是这样,让 CustomerViewPage 调用 ClientScript.RegisterStartupScript 来调用弹出窗口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 2019-04-12
      相关资源
      最近更新 更多