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

第一种方法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值