首页 > 编程 > .NET > 正文

ASP.NET实现页面传值的几种方法小结

2024-07-10 12:44:26
字体:
来源:转载
供稿:网友

这三种方法是:QueryString,Session和Server.Transfer。

 通过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:
string name = PreviousPage.Name;这样可以得到参数值。


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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表