原文: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.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属性后面?传递参数 获取不到

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

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

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

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

    <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. 大并发连接的oracle在Linux下内存不足的问题的分析(转)

    最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库的SGA设置为20G,当运行业务时,一个业务高峰期时,发现swap频繁交换,CPU 100%,Load很高,基本体现为内存 ...

  2. uva10465(完全背包,要求装满背包)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&c ...

  3. 【原创】leetCodeOj --- Binary Search Tree Iterator 解题报告

    时间挤挤总是有的 太久不做题,脑子都生锈了.来道水题练练手 题目地址: https://leetcode.com/problems/binary-search-tree-iterator/ 题目内容: ...

  4. 【iOS】使用SQLite与FMDB

    iOS中的SQLite与Android中的一模一样,仅仅是调用方法有差异.假设单从调用来讲,Android封装的一套helper更好用一些,而iOS原生的用C语言的几个函数在操作,比較麻烦.只是引入第 ...

  5. twisted是python实现的基于事件驱动的异步网络通信构架。

    网:https://twistedmatrix.com/trac/ http://www.cnblogs.com/wy-wangyan/p/5252271.html What is Twisted? ...

  6. jsp简单练习-简单的下拉表单

    <%@ page contentType="text/html; charset=gb2312" %> <html> <body> <fo ...

  7. 特征选择(三)-K-L变换

    上一讲说到,各个特征(各个分量)对分类来说,其重要性当然是不同的. 舍去不重要的分量,这就是降维. 聚类变换觉得:重要的分量就是能让变换后类内距离小的分量. 类内距离小,意味着抱团抱得紧. 可是,抱团 ...

  8. COM模块三---根的形成和注册代理server(Building and Registering a Proxy DLL)

    Prerequisite:C++ 程序员,熟windows计划,熟Win32 Dll,了解windows注册表. 笔者:割者 上一篇文章中,我们定义了COM接口.通过编译生成了四个文件,本文使用这四个 ...

  9. 关于js中window.location.href,location.href,parent.location.href,top.location.href的使用方法

    关于js中"window.location.href"."location.href"."parent.location.href".&qu ...

  10. Principle使用教程

    本次分享主要有以下几点内容: 1.初识界面2.两个关键操作3.案例一:滑动4.案例二:点击跳转 5.案例三:跟随动画(抽屉效果) 1初识界面Principle的界面与Sketch基本一致,如下图: a ...