ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前

原文:ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前

背景

当数据量大、查询条件复杂,多样多的时候,我们可能需要单独做一个查询界面,当用户选择设置了相关的查询条件后,点击【查询】按钮,系统就弹出一个新的页面展示出根据条件查询出的数据集。

然后,用户每点【查询】按钮就弹出一个新的页面展示出最新的查询结果。

当然,在较好的用户体验下,我认为不管用户点击了多少次【查询】按钮,系统应该只弹出并有且只有一个页面,这个页面就是展示查询结果的页面了。并且这页面还应该显示在窗口的最前面,如果用户使用选项卡浏览器就以闪烁的形式提示用户当前的查询结果已更新到最新。

 

解决方法

 

大家知道,在asp.net中直接设置form的action是没有效果的,或者当产生postback的时候可能会有一些意外的事情发生。如:

<form id="form1" runat="server" action="searchresult.aspx" >

 

好,现在我们只能通过javascript动态的设置form的action以及target属性了,具体如下代码:

function FormSubmit(){var action = $('#form1').attr('action');var target =    $('#form1').attr('target');                $('#form1').attr('action','RetireeInfoSearchResult.aspx');                $('#form1').attr('target','RetireeInfoSearchResult.aspx');var d = $('#form1').submit();//alert(d);                $('#form1').attr('action',action);                $('#form1').attr('target',target);return false;           } 

 

当点击【查询】按钮时,就触发FormSubmit方法,通过FormSubmit方法先保存form的属性,然后再设置form的action以及target属性,将target设置为查询结果的页面路径,这样可以保存永远只弹出一个页面,而不是多个页面。最后form表单提交后,将form的属性还原。

 

保证查询结果显示在最前面或者提示用户

在查询结果页面中,向body加入onload事件,具体如下:

<body onload="self.focus();">

这样就可以保证,当页面加载的时候焦点就在查询结果页面上。

 

 

时间: 2024-11-10 10:23:28

ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前的相关文章

ASP.NET&amp;amp;Javascript实现半透明背景&amp;amp;模式弹出个性化页面实例

开发Web应用时,经常会有弹出模式对话框的情况,可以直接调用window.showModalDialog()方法,一 般情况就可以了. 但有一些应用场景,需要我们弹出一些自定义控件或页面,同时用一层半透明的背景将页面的其他地 方遮住,以防止用户的其他操作,以达到一种"模式窗口"的效果,这里给出一个实现此类效果,同时支 持弹出自定义控件页面中通过委托更新主页面的操作功能,当然,此应用支持IE和FireFox两种浏览器.

ASP.NET弹出一个对话框

我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否"操作成功","确定"还是"取消"操作. (1) 点击页面上的按钮,弹出一个对话框提示是"确定"还是"取消"操作,我们采用在按钮中添加属性来完成: 举例如下: public System.Web.UI.WebControls.Button btnDelRow; btnDelRow.Attributes.Add("onclic

WinForm控件开发总结(八) 为属性提供弹出式编辑对话框

前几篇文章我们一直在讨论如何更方便的编辑复杂类型的属性,在这个过程中我介绍了类型转换器以 及如何制作自己的类型转换器来实现属性值的串行化和实现子属性的编辑.对于Scope这种级别的复杂属 性,一个类型转换器就已经足够了,但是对于更为复杂的属性,单单使用类型转换器已经不足以应付了, 比如我们常用的Font属性. 在这种情况下,我们就需要提供更为复杂的编辑方式,比如属性编辑对话框,你还记得Font对话框吗 ?现在我们就来看看如何实现更复杂的属性编辑.复杂的属性编辑器分为两种类型,一种是弹出式模态对

在asp.cs的页面中 如何弹出一个模态窗口 然后一秒后自动关闭 ()

问题描述 在asp.cs的页面中 如何弹出一个模态窗口 然后一秒后自动关闭 () 如题,在asp.cs的页面中 如何弹出一个模态窗口 然后一秒后自动关闭 (求高手指教) 解决方案 http://www.3lian.com/edu/2013/05-22/71072.html

ajax-jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id

问题描述 jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id,在通过ajax查询返回相对的改变jsp页面的文本框的值 请问 当我按那个查询按钮之后,弹出那个查询窗口,选中相应的值之后,按确定之后会关闭查询窗口(会返回选中的用户id)然后通过ajax查询相应的值,同时把值填到一个text文本域内,希望高手可以帮我解决一下这个怎么做? 解决方案 思路基本是正确的,你的问题只是在于不自信.多鼓捣鼓捣,效果就出来

asp.net 网页拖选一行文字,弹出一个按钮,将改行文字传回后台

问题描述 asp.net 网页拖选一行文字,弹出一个按钮,将改行文字传回后台 asp.net 网页拖选一行文字,弹出一个按钮,将改行文字传回后台 具体的实现效果就如:再浏览器中,选中文字,出现搜索按钮,然后点击 请问应该怎么做? 解决方案 和asp.net无关,是客户端js做的.document.onmouseup事件判断是否有选中文字,选中弹出按钮,点击按钮用ajax发送文字到后台 <script type="text/javascript" src="http://

myeclipse-jsp登录表单action转跳到另一个页面总是404错误

问题描述 jsp登录表单action转跳到另一个页面总是404错误 我把页面都放在WebRoot/view下,但是每次登录后都是404错误,路径总是少了view.菜鸟求帮助 解决方案 通常jsp页面中的路径都是使用绝对路径的,获取方式为: <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":&quo

请问已经发布好的asp.net网站怎么反编译,我想看一下其中一个页面的后台代码.

问题描述 请问已经发布好的asp.net网站怎么反编译,我想看一下其中一个页面的后台代码. dll是乱的 还有没有什么办法能找到页面的后台代码................................... 解决方案 找reflector这个软件,可以反编译C#的dll(前提是dll没有被混淆过,混淆过的也反编译不了)

求助 如何弹出子页面 选择一个种类后,传值到父页面的asp文本框,不刷新掉其他文本框的内容

问题描述 如何弹出子页面选择一个种类后,传值到父页面的asp文本框,不刷新掉其他文本框的内容在录入信息界面(父界面)其中一个文本框tbx1(这些文本框都是asp:开头的,服务器控件)需要点击一个选择按钮,弹出一个子页面,在子页面中,选择一个分类,之后,点击确定,关闭子窗口,并将选择的这个分类,传到父页面的文本框tbx1中.并且不能刷新父页面,不然其余的一些文本框的内容就白写了.我用的window.open()父页面:<asp:TextBoxID="tbx1"runat="