2011-06-09 105 views
0

这里有我想要做一些背景资料:打开通过C#按钮新的浏览器窗口中单击

  • 我有一个客户视图页面;在该页面上,有一个按钮可以记录新的通话记录。点击此按钮将重定向到新的通话页面。
  • 在新的通话页面上,有几个复选框可供用户选择触发额外操作(即他们的订单有问题,他们有产品推荐等)
  • 当提交通话记录时,用户通过Response.Redirect

现在带回的客户视图页面,我想在这里做的是,如果用户选择了附加动作复选框中的一个,我还是想调用页面重定向回顾客视图页面;不过,我也想在自己的窗口中打开相应的附加操作页面。

因此,产生的流量将是这个样子:

  • 用户打开客户页面,并单击新呼叫。浏览器重定向至呼叫页面
  • 用户选择“订单问题”并保存通话记录。通话记录页面重定向回顾客页面
  • 质量报告页面(用于订单问题)然后弹出一个新窗口。

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

+0

这个想法是,你会放一些JS来启动一个弹出窗口,在你重定向的页面打开弹出窗口。 但这将无法正常工作,因为浏览器(使用默认设置)不会让页面在没有用户点击的情况下打开弹出窗口。您需要做的是从第一个页面启动弹出窗口,作为点击按钮的结果,就像@ BalaR的答案。 或根本不使用弹出窗口。 – 2011-06-09 13:02:08

回答

0

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

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

1

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

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

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