用server.transfer传递多个参数

原创 2011年01月11日 21:23:00

如果有许多查询页面共用一个结果页面的设置方法:
在这种方式中关键在于“   QueryPage   queryPage   =   (   QueryPage   )Context.Handler;   ”的转换,只有转换不依赖于特定的页面时即可实现。
如果让所有的查询页面都继承一个接口,在该接口中定义一个方法,该方法的唯一作用就是让结果页面获得构建结果时所需的参数,就可实现多页面共享一个结果页面操作!

1、先定义一个类,用该类放置所有查询参数:
///   <summary>
///   结果页面中要用到的值
///   </summary>
public   class   QueryParams
{
private   string   staDate;
private   string   endDate;

///   <summary>
///   开始时间
///   </summary>
public   string   StaDate
{
get{   return   this.staDate;}
set{this.staDate   =   value;}
}
///   <summary>
///   结束时间
///   </summary>
public   string   EndDate
{
get{   return   this.endDate;}
set{this.endDate   =   value;}
}
}

2、接口定义:
///   <summary>
///   定义查询接口。
///   </summary>
public   interface   IQueryParams
{
///   <summary>
///   参数
///   </summary>
QueryParams   Parameters{get;}
}

3、查询页面继承IQueryParams接口(QueryPage.aspx):
      
///   <summary>
///查询页面,继承接口
///   </summary>
public   class   QueryPage   :   System.Web.UI.Page,   IQueryParams
{
protected   System.Web.UI.WebControls.TextBox   txtStaDate;
protected   System.Web.UI.WebControls.TextBox   txtEndDate;

private   QueryParams   queryParams;
      ...
///   <summary>
///   结果页面用到的参数
///   </summary>
      public   QueryParams   Parameters
{
get
{
return   queryParams;
}
}
....
private   void   btnEnter_Click(object   sender,   System.EventArgs   e)
{
//赋值
queryParams   =   new   QueryParams();
queryParams.StaDate   =   this.txtStaDate.Text;
queryParams.EndDate   =   this.txtEndDate.Text

Server.Transfer( "ResultPage.aspx ");
}
}
4、别外的页面也如此设置
5、接收页面(ResultPage.aspx):
    
public   class   ResultPage   :   System.Web.UI.Page
{
      private   void   Page_Load(object   sender,   System.EventArgs   e)
      {

QueryParams   queryParams   =   new   QueryParams();
IQueryParams   queryInterface;
//实现该接口的页面
if(   Context.Handler   is   IQueryParams)
{
queryInterface   =   (   IQueryParams   )Context.Handler;
queryParams   =   queryInterface.Parameters;
}

Response.Write(   "StaDate: "   );
Response.Write(   queryParams.StaDate   );
Response.Write(   " <br/> EndDate: "   );
Response.Write(   queryParams.EndDate   );
    }
}

iOS UIButton传递多个参数的方法——使用关联函数

在平时开发时经常会要遇到通过button的绑定值来做逻辑处理以区分不同的button,通常使用tag来区分,但是当需要传多个值的时候这就比较麻烦了,通常考虑用全局变量来传值,今天来介绍另一种给UIBu...
  • japhoo
  • japhoo
  • 2016年04月20日 15:25
  • 3497

server.transfer()不能正确显示页面

Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别: 1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Resp...
  • u010552788
  • u010552788
  • 2013年12月16日 18:46
  • 851

多个Activity之间传值,使用Intent

Activity之间传值有很多种,无论用那种方式实现的目的只有一个:多个Activity之间实现通信!下面这篇博客介绍一下多个Activity之间使用Intent传值,Intent背负着信使的荣誉称号...
  • lplj717
  • lplj717
  • 2016年04月21日 16:03
  • 1113

dwr 怎么传递多个参数

1.先介绍下相关的Java类     User: 用户类,   public class User { //登陆ID,主键唯一 private String id; //姓名 private Stri...
  • u013125680
  • u013125680
  • 2014年12月31日 12:48
  • 1481

Python基本语法_函数_参数的多类型传值

前言上一篇主要介绍了Python函数的参数类型,本篇继续学习Python函数多类型传值。软件环境 系统 UbuntuKylin 14.04 软件 Python 2.7.4 IPython 4.0....
  • Jmilk
  • Jmilk
  • 2015年10月23日 10:32
  • 1528

Jquery ajax 从action中传多个参数到js里面使用

通常点击了某个按钮,使用ajax的方式,发送请求到action里面,然后返回相应的处理数据到js页面上显示,一个数据还好,但如果多个数据需要传递的话,就需要在action里面设置一个map,将多个数据...
  • omayyouhappy
  • omayyouhappy
  • 2016年11月04日 17:49
  • 936

android 中 多个Activity 的跳转 与传值

最近在学习安卓,所以记录下自己学习的点滴。  我的理解就是每个activity就是类似iOS中的Controller. 在iOS中,我们控制器传值的方式也是各种各样。 下面就介绍下在安卓开发中, 控...
  • zhonggaorong
  • zhonggaorong
  • 2016年03月22日 17:55
  • 1412

iOS中performSelector+@selector多参数传递解决方法

关于performSelector传递参数一般不能超过2个,但是现实开发中我们有时需要用到传递大于2以上的参数,这个时候performSelector就不能满足要求了。所以这里总结了开发中解决的办法,...
  • zzrs123
  • zzrs123
  • 2016年09月27日 10:26
  • 2793

@selector的函数如何传参数/如何传递多个参数

不同的类会有不同的传递方式,参数名也不尽相同。如果是传单个参数的就不用集合,如果是传多个参数可以用类似nsarray,nsdictionary之类的集合传递。看下面例子: 例子1: 通过N...
  • u011862058
  • u011862058
  • 2016年07月07日 14:38
  • 1594

webservice如何传递复杂参数和自定义参数

首先说参数为User对象。 服务器端照常如旧。还是用最初的文档中方式搭建。其中有个方法如下:   [html] view plaincopyprint? 1.  public User...
  • liuxing1020
  • liuxing1020
  • 2013年05月03日 16:06
  • 2204
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用server.transfer传递多个参数
举报原因:
原因补充:

(最多只允许输入30个字)