Asp.Net(C#)页面件传值小总结 fly_thinking

本文介绍ASP.NET中常见的六种页面间传值方法,包括QueryString、Session、Server.Transfer、Cookie、全局变量等,每种方法都有示例代码及适用场景说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用QeriyString传值
源页面代码:
string Url = "default.asp?sStrName=canshu&ID=UserID"
目标页面代码:
Lable1.Text
=Request.QueryString["sStrName"];
Lable2.Text
=Request.QueryString["ID"];    
同时传值两个参数分别是sStrName和ID,值是canshu和UserID.

2.用session页面传值
源页面代码:
session[
"stringName"]=TextBox1.Text
Server.Transfer(
"welcomePage.aspx");
接收页面代码:
Lable1.Text
=session["stringName"].Tostring();
session.Remove(
"stringName");//移除session变量,减少服务器开销

3.使用Server.Transfer
public string Name
{
    
get
    
{
        
return TextBox1.Text;
    }

}


public string EMail
{
    
get
    
{
        
return TextBox2.Text;
    }

}

传值页面代码:
Server.Transfer(
"WelcomePage.aspx");
目标页面代码:
private void Page_Load (object sender, System.EventArgs e)
{
    WebFormName wf1;  
//WebForm1为源页面的名字
    
//我们就可以使用Context.Handler属性来获得前一个页面实例对象
    wf1=(WebFormName)Context.Handler;//get reference to current handler instance

    Label1.Text
=wf1.Name;
    Label2.Text
=wf1.EMail;
}

一般比较提倡用session安全性高,如果页面需要传的变量很多的话可以用hashtable或者数组

保存数值然后存到session当中。
4.使用Cookie对象变量
Cookie的用法和Session的用法差不多,但是Cookie是存放在客户端的,而Session是存放再服

务器上的,适用Cookie时要用到Request内置对象。
源页面代码:
private void Button1_Click(object sender,System.EventArgs e)
{
    实例化一个Cookie对象
    HttpCookie cookie_name 
= new HttpCookie("name");
    cookie_name.Value 
= Label1.Text;
    Reponse.AppendCookie(cookie_name);
    Server.Transfer(
"WelcomePage.aspx");
}

目标页面代码:
private void Page_Load (object sender, EventArgs e)
{
     
string name;
     name 
= Request.Cookie["name"].Value.ToString();//得到Cookie值
}

5.全局变量
源页面代码:
Application[
"sum"]=this.TextBox1.Text;
Server,Transfer(
"WelcomePage.aspx");
目标页面代码:
this.Lable1.Text=(string)Application["sum"];
Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量

值,Application对象将是最佳的选择。

6、其他方式    
在接收页 的html代码里加上一行: 
<%@ Reference Page = "WebForm1.aspx" %> 
WebForm1 fp
=(WebForm1)Context.Handler;
this.TextBox1.Text=fp.name; //name 是第一页的public变量
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值