关于Server.Transfer传值

xu8512 2007-05-24 05:29:19
在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;这样定义不起作用,该怎么来定义
...全文
1027 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbqcel 2007-06-08
  • 打赏
  • 举报
回复
楼主是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
feifun 2007-06-08
  • 打赏
  • 举报
回复
同意:xu8512(突然很想谈恋爱)
试过了,结果和你说的一样。无法传值
正在考虑用 Server.Transfer("",true);来传值
xu8512 2007-05-25
  • 打赏
  • 举报
回复
等高手1
xu8512 2007-05-24
  • 打赏
  • 举报
回复
搞笑了,就引用跟被引用的这两个页面不可以用,其余的都很正常
xu8512 2007-05-24
  • 打赏
  • 举报
回复
.................
没有加命名空间,应该直接引用就可以了吧。。。
主要问题是找不到类
cqhydz 2007-05-24
  • 打赏
  • 举报
回复
是黑色的也是类啊你将mouse放在上面看有没有提示,你主要看是否报错。检查namespace是否在一个下面
sbqcel 2007-05-24
  • 打赏
  • 举报
回复
2.0下aspx.cs没有命名空间.....
xu8512 2007-05-24
  • 打赏
  • 举报
回复
等于说就是找不到类aaa
xu8512 2007-05-24
  • 打赏
  • 举报
回复
步骤跟楼上的不差
问题是出在 WebForm1 wf1; ,比如我上一个页面类名是aaa,那应该就是aaa wf1;对吧?
aaa是类的话应该显示在蓝色的咯,可以它显示的是黑色,这不就表示没有这个类吗?
hertcloud 2007-05-24
  • 打赏
  • 举报
回复
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;
}
sbqcel 2007-05-24
  • 打赏
  • 举报
回复
楼主好好检查下你的代码,注意可访问性!!!!
interboy 2007-05-24
  • 打赏
  • 举报
回复
可以啊,我就是用的2.0
楼主如果需要传递变量的话需要那个变量的访问级别是public
xu8512 2007-05-24
  • 打赏
  • 举报
回复
有人能在说下细节吗?为什么我照上面两位说的,还是不可以
xu8512 2007-05-24
  • 打赏
  • 举报
回复
why
xu8512 2007-05-24
  • 打赏
  • 举报
回复
我就是照这种方法加的,难道在2.0里面不可以?
interboy 2007-05-24
  • 打赏
  • 举报
回复
//_Default为ASPX页面所对应的类名
_Default d1 = (_Default)this.Context.Handler;

//tbx_date是Default.ASPX中public的变量。
this.Label1.Text = d1.tbx_date.Text;
sbqcel 2007-05-24
  • 打赏
  • 举报
回复
如:
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;
}
sbqcel 2007-05-24
  • 打赏
  • 举报
回复
a.aspx的类名 a1 = (a.aspx的类名)Context.Handler
a1.aaa();//注意aaa()的访问级别

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧