asp页面传值的三个方式,列举ASP.NET页面之间传递值的几种方式

  asp页面传值的三个方式,列举ASP.NET页面之间传递值的几种方式

  1、表单提交,

  表单操作=目标。“aspx”方法=“post”名称=“form 1”

  输入名称=param1 值=1111/

  输入名称=param2 值=2222/

  /表单

  .

  表格1。submit();

  .

  此种方在ASP。网中无效,因为ASP。网的表单总是提交到自身页面,如果要提交到别一页面,需要特殊处理。

  2、A href=target.aspx?param1=1111 m2=2222 链接地址传送/A

  接收页面:string str=Request[param1]

  3、会话共享

  发送页面:Session( param 1 )= 1111 ;

  按收页面string str=Session(param1 ).ToString();

  4、应用共享

  发送页面:Application( param 1 )= 1111 ;

  按收页面:string str=应用程序( param1 ).ToString();

  此种方法不常使用,因为应用在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。

  5、饼干

  6、回应。重定向()方式

  回应。重定向( target.aspx?param 1=1111 m2=2222’)

  接收页面:string str=Request[param1]

  7、服务器。转移()方式。

  服务器. Transfer(target.aspx?param 1=1111 m2=2222’)

  接收页面:string str=Request[param1]

  二、如果在两个页面间需要大量的参数要传传递,如数据查询等页面时,用1 - 6的方法传值及其不便,而第七种方法确有一独特的优势!但使用该方法时需要一定的设置,现简单介绍一下该方法的使用方式:

  以查询数据页面为例:

  在查询页面中设置如下公有属性(QueryPage.aspx):

  公共类查询页面:系统.网页界面

  {

  受保护的系统web . com。ui。web控件。文本框txtStaDate

  受保护的系统web . com。ui。web控件。文本框txtEndDate

  .

  ///摘要

  ///开始时间

  ////摘要

  公共字符串状态

  {

  获取{返回此。txtstadate。文本;}

  设置{ this。txtstadate。文本=值;}

  }

  ///摘要

  ///结束时间

  ////摘要

  公共字符串结束日期

  {

  获取{返回此。txtenddate。文本;}

  设置{ this。txtenddate。文本=值;}

  }

  .

  私有void btnEnter_Click(对象发送方,系统e)

  {

  服务器传输(结果页。aspx’);

  }

  }

  在显示查询结果页面(ResultPage.aspx):

  公共类结果页面:系统.网页界面

  {

  私有void Page_Load(对象发送方,系统e)

  {

  //转换一下即可获得前一页面中输入的数据

  QueryPage queryPage=( QueryPage)上下文。处理者;

  回应。写( StaDate:);

  回应。写(查询页面.StaDate);

  回应写( br/结束日期:);

  回应。写(查询页面.结束日期);

  }

  }

  三、如果有许多查询页面共用一个结果页面的设置方法:

  在这种方式中关键在于QueryPage queryPage=( QueryPage)上下文。处理程序;"的转换,只有转换不依赖于特定的页面时即可实现。

  如果让所有的查询页面都继承一个接口,在该接口中定义一个方法,该方法的唯一作用就是让结果页面获得构建结果时所需的参数,就可实现多页面共享一个结果页面操作!

  1、先定义一个类,用该类放置所有查询参数:

  ///摘要

  ///结果页面中要用到的值

  ////摘要

  公共类查询参数

  {

  私有字符串斯塔德

  私有字符串结束日期;

  ///摘要

  ///开始时间

  ////摘要

  公共字符串状态

  {

  获取{ return this.staDate}

  设置{ this.staDate=value}

  }

  ///摘要

  ///结束时间

  ////摘要

  公共字符串结束日期

  {

  获取{返回此。结束日期;}

  设置{ this。结束日期=值;}

  }

  }

  2、接口定义:

  ///摘要

  ///定义查询接口。

  ////摘要

  公共接口IQueryParams

  {

  ///摘要

  ///参数

  ////摘要

  查询参数参数{ get}

  }

  3、查询页面继承IQueryParams接口(QueryPage.aspx):

  ///摘要

  ///查询页面,继承接口

  ////摘要

  公共类查询页面:系统.网页,IQueryParams

  {

  受保护的系统web . com。ui。web控件。文本框txtStaDate

  受保护的系统web . com。ui。web控件。文本框txtEndDate

  私有查询参数查询参数

  .

  ///摘要

  ///结果页面用到的参数

  ////摘要

  公共查询参数参数

  {

  得到

  {

  返回查询参数

  }

  }

  .

  私有void btnEnter_Click(对象发送方,系统e)

  {

  //赋值

  query params=new query params();

  查询参数.StaDate=this。txtstadate。文本;

  查询参数.EndDate=this.txtEndDate.Text

  服务器传输(结果页。aspx’);

  }

  }

  4、别外的页面也如此设置

  5、接收页面(ResultPage.aspx):

  公共类结果页面:系统.网页界面

  {

  私有void Page_Load(对象发送方,系统e)

  {

  query params query params=new query params();

  IQueryParams查询接口

  //实现该接口的页面

  如果(上下文。处理程序是IQueryParams)

  {

  queryInterface=( IQueryParams)上下文。处理者;

  queryParams=queryInterface .参数;

  }

  回应。写( StaDate:);

  回应。写(查询参数.StaDate);

  回应写( br/结束日期:);

  回应。写(查询参数.结束日期);

  }

asp页面传值的三个方式,列举ASP.NET页面之间传递值的几种方式