【IT168 技术文档】除了常用的Get,Post,Session,Application等页面间可传递参数的方法,还有新的方法,这应该是Asp.net独有的吧
B页面取A页面的值
页面A代码
publicpartialclassDefault : System.Web.UI.Page
{
protectedvoidPage_Load(objectsender, EventArgs e)
publicstringF
{
get{ returnthis.TextBox1.Text.ToString(); }
set{ this.TextBox1.Text =value; }
}
publicstringM
{
get{ returnthis.TextBox2.Text.ToString(); }
set{ this.TextBox2.Text =value; }
}
protectedvoidButton1_Click(objectsender, EventArgs e)
}
页面B的代码
publicpartialclassDefault2 : System.Web.UI.Page
{
protectedvoidPage_Load(objectsender, EventArgs e)
{
Default s;
if(Context.Handler isDefault)
{
s =(Default)Context.Handler;
Label1.Text =s.F +"---"+s.M;
}
}
}
应该注意到,页面Default.aspx.cs本身就是一个类,这样的话可以在页面二中直接使用这个类,将页面一需要传递的参数封装一下,供外界访问。
一个页面接受多个页面传递的参数,对结果统一处理
1.新建参数类及接口
/**//// ///QueryParams 的摘要说明
/// publicclassQueryParams
{
privatestringstaDate;
privatestringendDate;
/**//// ///开始时间
/// publicstringStaDate
{
get{ returnthis.staDate; }
set{ this.staDate =value; }
}
/**//// ///结束时间
/// publicstringEndDate
{
get{ returnthis.endDate; }
set{ this.endDate =value; }
}
}
/**//// ///定义查询接口。
/// publicinterfaceIQueryParams
{
/**//// ///参数
/// QueryParams Parameters
}
2.多个页面中要继承该接口
publicpartialclassDefault3 : System.Web.UI.Page,IQueryParams
{
privateQueryParams param;
publicQueryParams Parameters
}
protectedvoidPage_Load(objectsender, EventArgs e)
protectedvoidButton1_Click(objectsender, EventArgs e)
{
param =newQueryParams();
param.StaDate =this.TextBox1.Text.ToString();
param.EndDate =this.TextBox2.Text.ToString();
Server.Transfer("Default4.aspx");
}
}
3.别的页面同样处理
4.统一处理页面
publicpartialclassDefault4 : System.Web.UI.Page
{
protectedvoidPage_Load(objectsender, EventArgs e)
{
QueryParams queryParams =newQueryParams();
IQueryParams queryInterface;
//实现该接口的页面
//与Default2.asp相比,主要是Context.Handler的类型不同