另类页面间传值方法。除Session,Application,Cookie,Get,Post,Server.Transfer()

来源:百度文库 编辑:神马文学网 时间:2024/04/20 03:32:15
另类页面间传值方法。除Session,Application,Cookie,Get,Post,Server.Transfer()2010-04-12 16:10

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


///


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

public class QueryParams
{
private string staDate;
private string endDate;

///


/// 开始时间
///

public string StaDate
{
get{ return this.staDate;}
set{this.staDate = value;}
}
///
/// 结束时间
///

public string EndDate
{
get{ return this.endDate;}
set{this.endDate = value;}
}
}

 

2、接口定义:
///


/// 定义查询接口。
///

public interface IQueryParams
{
///
/// 参数
///

QueryParams Parameters{get;}
}

 

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


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

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;
    ...
///


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

    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( "
EndDate:" );
Response.Write( queryParams.EndDate );
   }
}