在a.aspx有一个公共的属性,比如说是aaa
然后通过Server.Transfer(b.aspx)转向到b。aspx页面
看到有资料说可以如下获取a中的aaa属性
a a1;//定义a窗体
a1=(a)Context.Handle//实例化
然后a1.aaa就可以获取到a.aspx页面中的aaa属性的值
-----
问题:怎么来实例化a.aspx窗体,也就是说a a1;这样定义不起作用,该怎么来定义
然后通过Server.Transfer(b.aspx)转向到b。aspx页面
看到有资料说可以如下获取a中的aaa属性
a a1;//定义a窗体
a1=(a)Context.Handle//实例化
然后a1.aaa就可以获取到a.aspx页面中的aaa属性的值
-----
问题:怎么来实例化a.aspx窗体,也就是说a a1;这样定义不起作用,该怎么来定义
a1.aaa();//注意aaa()的访问级别
Search.aspx.cs:
public class Search : PageBase
{
protected System.Web.UI.WebControls.DropDownList ddlName;
protected System.Web.UI.WebControls.Button btnSearch;
/// <summary>
/// 帐号/姓名
/// </summary>
public string NameType
{
get
{
return ddlName.SelectedValue ;
}
}
private void btnSearch_Click(object sender, System.EventArgs e)
{
Server.Transfer( "List.aspx" );
}
}
List.aspx.cs:
private void Page_Load(object sender, System.EventArgs e)
{
Search search = (Search )Context.Handler ;
string NameType = search.NameType;
}
_Default d1 = (_Default)this.Context.Handler;//tbx_date是Default.ASPX中public的变量。
this.Label1.Text = d1.tbx_date.Text;
楼主如果需要传递变量的话需要那个变量的访问级别是public
2,创建返回值的Get属性过程
3,创建可以返回表单的按钮和链接按钮
4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面
5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了
以下代码综合实现上述步骤过程的代码: 源页面代码:
把以下的代码添加到页面中
public string Name
{
get
{
return TextBox1.Text;
}
}
public string EMail
{
get
{
return TextBox2.Text;
}
} 然后调用Server.Transfer方法
private void Button1_Click (object sender, System.EventArgs e)
{
Server.Transfer("anotherwebform.aspx");
} 目标页面代码:
private void Page_Load (object sender, System.EventArgs e)
{
//create instance of source web form
WebForm1 wf1;
//get reference to current handler instance
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;
}
问题是出在 WebForm1 wf1; ,比如我上一个页面类名是aaa,那应该就是aaa wf1;对吧?
aaa是类的话应该显示在蓝色的咯,可以它显示的是黑色,这不就表示没有这个类吗?
试过了,结果和你说的一样。无法传值
正在考虑用 Server.Transfer("",true);来传值
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/fedf234e-b7c4-4644-a9e8-c1c0870b043b.htm