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

2008-06-10 10:31:44.0     推荐:0    收藏:0    评论:0     来源:赛迪网
第一种方法:

  通过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"]来实现。

[第1页]   [第2页]   [下一页]
您可以针对本文进行:[评论]  [收藏]  [推荐]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: