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

时间:2021-12-05 00:22:05

原文: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();">

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

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

  1. JavaScript动态修改html组件form的action属性

    用javaScript动态修改html组件form的action属性,可以在提交时再决定处理表单的页面. <%--JavaScript部分--%><script language=& ...

  2. ASP&period;NET—013:实现带控件的弹出层(弹出框)

    http://blog.csdn.net/yysyangyangyangshan/article/details/38458169 在页面中用到弹出新页面的情况比较多的,一般来说都是使用JS方法sho ...

  3. request设置属性 一般当做下一个页面的结果集

    request设置属性 一般当做下一个页面的结果集

  4. form的action属性作用

    一.action=""和action="#".没有action属性的作用相同,都是提交到当前页面(也就是document.location.href) 二.ac ...

  5. form中action属性后面&quest;传递参数 获取不到

    $p_id = $_REQUEST['p_id']; echo "<h1>您将更新商品编号为<span>$p_id</span>的商品信息 <a h ...

  6. form的action属性值对应servlet的web&period;xml的url-pattern

    <form action="abc">在web.xml里面<servlet><servlet-name>123</servlet-name ...

  7. struts2动态跳转action&comma;修改和添加共用一个页面

    <s:form action="role_%{ id == null ? 'add' : 'edit' }"> <s:hidden name="id&q ...

  8. js form表单 鼠标移入弹出提示功能

    JS 部分 /* Copyright (C) 2009 - 2012 Email: wangking717@qq.com WebSite: Http://wangking717.javaeye.com ...

  9. iOS开发技巧 - 使用Alerts和Action Sheets显示弹出框

    解决方案: (Swift) 使用UIAlertController类 (Objective-C) 使用UIAlertView类 代码: (Swift) import UIKit class ViewC ...

随机推荐

  1. 解决Windows内存问题的两个小工具RamMap和VMMap&lpar;这个更牛更好&rpar;

    来源:http://www.cr173.com/html/13006_1.html .net程序内存监测分配工具(CLR Profiler for .NET Framework 4)官方安装版 类型: ...

  2. FFMpeg在Ubuntu上的安装和使用

    在Ubuntu Server上编译FFmpeg FFmpeg是最流行的开源视频转码工具包,在Ubuntu上可以直接通过apt-get安装,但是默认的编码器不提供x264这些non-free的编码器,所 ...

  3. css中的单冒号和双冒号

    最近突然被别人问起css单冒号和双冒号有什么区别,答曰:"不知道". 虽然还在填坑中,但作为一个跨过了初级的FEer,感觉着实汗颜,刚好今天下午在搜别的问题的时候,突然看到一个对比 ...

  4. 记一次安装Ipython的流程

    这是一个悲伤的安装ipython的过程. 写下来留个教训吧. 也是希望对博友一些帮助吧. 注: 我也写了一篇window下安装bpython的文章(个人感觉bpython要比ipython强大的多), ...

  5. 【C&sol;C&plus;&plus;】c文件重点总结

    c文件重点知识总结 程序文件数据文件--->分文本文件(ASCII文件)和映像文件(二进制文件) .区分是用记事本打开后能否看懂. 用二进制文件读写花费时间少,因为用文本文件需要有一个转换的过程 ...

  6. testNG中dataprovider使用的两种方式

    testNG的参数化测试有两种方式:xml和dataprovider.个人更喜欢dataprovider,因为我喜欢把测试数据放在数据库里. 一.返回类型是Iterator<Object[]&g ...

  7. &lbrack;Vim&rsqb; 搜索模式(正则表达式)

    本文介绍如何使用Vim的搜索模式. 搜索单词 Vim中使用 \< 和 \> 分别表示单词的开头和结尾,例如查找单词 i 而不是字母 i ,在正常模式下,按下 / 启动搜索模式,输入 \&l ...

  8. 快捷键&lpar;SourceInsight&rpar;

    选择一块 : Ctrl+-选择一行 : Shift+F6到下一个函数 : 小键盘 +上一个函数 : 小键盘 -高亮当前单词 : Shift+F8回退.前进 alt + , alt + .最后一个窗口 ...

  9. 52道Python面试题

    1.python中is和==的区别 Python中对象包含的三个基本要素,分别是:id(身份标识) .type(数据类型)和value(值).‘==’比较的是value值‘is’比较的是id 2.简述 ...

  10. code1214 线段覆盖

    贪心 把线段们按终止点b的先后排序,b小的在前面,b一样随便 然后设r为当前最大的b 每加入一条新的线段i,判断是否重合(i.a>=r) 如果重合就舍弃i,否则把i加入,ans++,更新r:r= ...