当前一个窗口保持在后台时,打开一个弹出窗口 - asp.net

时间:2011-08-29 15:46:37

标签: asp.net background popupwindow

我想在使用该应用程序的用户按下按钮时打开一个新的aspx页面。

直到现在我使用Response.Redirect但现在我希望上一页保留在后台,并且新弹出窗口仅显示表数据,不回发。

有可能吗? 感谢。

2 个答案:

答案 0 :(得分:0)

它必须是一个按钮吗?如果它只是一个链接,那么您可以设置其target属性以在新窗口中打开URL(或选项卡,它取决于浏览器)。像这样:

<a href="popup.aspx" target="_blank">click here</a>

如果必须是按钮,则可以open the new window with JavaScript

但是服务器端代码无法告诉浏览器打开新窗口。这一切都必须在客户端进行翻译,因为浏览器是打开窗口的部分。

另一方面,为了更好的用户体验,您可能需要考虑使用jQuery UI Dialog之类的内容而不是弹出窗口。从用户的角度来看,它不仅更好,而且我发现从开发的角度来看它更容易,因为它允许您在页面本身保留弹出窗口,因此您不必担心确切的问题。现在面对。

基本上,您将弹出窗口的数据(在页面加载时或通过AJAX调用时)加载到隐藏的div中,并在用户单击按钮时向用户显示div 。 jQuery UI插件可以很好地为您设置样式,并处理模态和类似的东西。

答案 1 :(得分:0)

查看Ajax Toolkit中的ModalPopupExtender。这将允许您在页面上打开一个没有回发的对话框,并在背景中打开父页面。

http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/modalpopup/modalpopup.aspx