日期:2014-05-18  浏览次数:20406 次

关于Server.Transfer传值
在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;这样定义不起作用,该怎么来定义

------解决方案--------------------
可以啊,我就是用的2.0
楼主如果需要传递变量的话需要那个变量的访问级别是public
------解决方案--------------------
1,在页面里添加必要的控件
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;
}

------解决方案--------------------
是黑色的也是类啊你将mouse放在上面看有没有提示,你主要看是否报错。检查namespace是否在一个下面
------解决方案--------------------
楼主是ASP.NET2.0的话在MSDN Library for Visual Studio 2005里看看这个:
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/fedf234e-b7c4-4644-a9e8-c1c0870b043b.htm