我想在使用该应用程序的用户按下按钮时打开一个新的aspx页面。
直到现在我使用Response.Redirect
但现在我希望上一页保留在后台,并且新弹出窗口仅显示表数据,不回发。
有可能吗? 感谢。
答案 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