关闭

ASP.NET实现页面间值传递的几种方法介绍

发表于:2008-11-10 15:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

#
.NET
#
ASP

  第一种方法:

  通过URL链接地址传递

  send.aspx:
  protected void Button1_Click(object sender, EventArgs e)
  {
  Request.Redirect("Default2.aspx?username=honge");
  }
  receive.aspx:
  string username = Request.QueryString["username"];这样可以得到参数值。

  第二种方法:

  通过post方式。

  send.aspx

  receive.aspx
  string username = Ruquest.Form["receive"];

  第三种方法:

  通过session

  send.aspx:
  protected void Button1_Click(object sender, EventArgs e)
  {
  Session["username"] = "honge";
  Request.Redirect("Default2.aspx");
  }
  receive.aspx:
  string username = Session["username"];这样可以得到参数值。

  第四种方法:

  通过Application

  send.aspx:
  protected void Button1_Click(object sender, EventArgs e)
  {
  Application["username"] = "honge";
  Request.Redirect("Default2.aspx");
  }
  receive.aspx:
  string username = Application["username"];这样可以得到参数值。

  第五种方法:

  通过Server.Transfer

  send.aspx:
  public string Name
  {
  get {
  return "honge";
  }
  }
  protected void Button1_Click(object sender, EventArgs e)
  {
  Server.Transfer("Default2.aspx");
  }
  receive.aspx:
  send d = Context.Handler as send ;
  if (d != null)
  {
  Response.Write(d.Name);这样可以得到参数值。
  }

  如果在asp.net 2.0中还可以这样用:通过PreviousPage

 PreviousPage d = Context.Handler as PreviousPage ;
  if (d != null)
  {
  Response.Write(d.Name);这样可以得到参数值。
  }

  也可以这样用:

send.aspx:

receive.aspx:
  <%@ PreviousPageType VirtualPath="~/Default.aspx" %>
  string name = PreviousPage.Name;这样可以得到参数值。

  如果你的页面中用到了MasterPage的话 Server.Transfer 传递的 PreviousPage就无效了,不知道这是什么原因.所以在用到MasterPage的话,最好用Session或是 Context.Items["username"]来实现。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号