参考地址: http://blog.csdn.net/zzzzzzzert/article/details/8486143

protected void Button1_Click(object sender, EventArgs e)  
            { 
                //使用querystring传值 
                //Response.Redirect("b.aspx?username=" + TextBox1.Text.Trim() + "&&pwd=" + TextBox2.Text.Trim()); 
     
                //使用Session传值 
                //Session["username"] = TextBox1.Text.Trim(); 
                //Session["pwd"] = TextBox2.Text.Trim(); 
                //Response.Redirect("b.aspx"); 
     
                //使用Application传值 
                //Application["username"] = TextBox1.Text.Trim(); 
                //Application["pwd"] = TextBox2.Text.Trim(); 
                //Response.Redirect("b.aspx"); 
     
                //使用Cookie传值 
                //HttpCookie hc = new HttpCookie("username",TextBox1.Text.Trim()); 
                //HttpCookie hc2 = new HttpCookie("pwd",TextBox2.Text.Trim()); 
                //Response.AppendCookie(hc);//将创建的Cookie添加到内部Cookie集合中 
                //Response.AppendCookie(hc2); 
                //Server.Transfer("b.aspx"); //Cookie需要使用Server.Transfer跳转 
     
                //使用Server.Transfer传值 
                //Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的。 
                //Server.Transfer("b.aspx"); 
     }  
            //使用Server.Transfer传值 
            //public string GetUserName 
            //{ 
            //    get { return TextBox1.Text.Trim(); } 
            //} 
            //public string GetPwd 
            //{ 
            //    get { return TextBox2.Text.Trim(); } 
            //}

1. 使用QueryString变量QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。

下面是一个例子:a.aspx的C#代码
[csharp] view plaincopy

private void Button1_Click(object sender, System.EventArgs e)  
    {  
    string s_url;  
    s_url = "b.aspx?name=" + Label1.Text;  
    Response.Redirect(s_url);  
    }

b.aspx中C#代码
[csharp] view plaincopy

private void Page_Load(object sender, EventArgs e)  
    {  
    Label2.Text = Request.QueryString["name"];  
    }

2. 使用Session变量

想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

a.aspx的C#代码
[csharp] view plaincopy

private void Button1_Click(object sender, System.EventArgs e)  
    {  
    Session["name"] = Label.Text;  
    }

b.aspx中C#代码
[csharp] view plaincopy

private void Page_Load(object sender, EventArgs e)  
    {  
    string name;  
    name = Session["name"].ToString();  
    }

3. 使用Cookie对象变量

这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

a.aspx的C#代码
[csharp] view plaincopy

private void Button1_Click(object sender, System.EventArgs e)  
    {  
    HttpCookie cookie_name = new HttpCookie("name");  
    cookie_name.Value = Label1.Text;  
    Reponse.AppendCookie(cookie_name);  
    Server.Transfer("b.aspx");  
    }

b.aspx中C#代码
[csharp] view plaincopy

private void Page_Load(object sender, EventArgs e)  
    {  
    string name;  
    name = Request.Cookie["name"].Value.ToString();  
    }

4. 使用Application 对象变量

Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。

a.aspx的C#代码
[csharp] view plaincopy

private void Button1_Click(object sender, System.EventArgs e)  
    {  
    Application["name"] = Label1.Text;  
    Server.Transfer("b.aspx");  
    }

b.aspx中C#代码
[csharp] view plaincopy

private void Page_Load(object sender, EventArgs e)  
    {  
    string name;  
    Application.Lock();  
    name = Application["name"].ToString();  
    Application.UnLock();  
    }

5. 使用Server.Transfer方法

这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。

a.aspx的C#代码
[csharp] view plaincopy

public string Name  
    {  
    get{ return Label1.Text;}  
    }  
    private void Button1_Click(object sender, System.EventArgs e)  
    {  
    Server.Transfer("b.aspx");  
    }

b.aspx中C#代码
[csharp] view plaincopy

private void Page_Load(object sender, EventArgs e)  
    {  
    a newWeb; //实例a窗体  
    newWeb = (source)Context.Handler;  
    string name;  
    name = newWeb.Name;  
    }

asp.net 页面跳转传值的几种方式的更多相关文章

  1. ASP.NET页面之间传递值的几种方式(转载)

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  2. ASP中页面之间传递值的几种方式

    ASP.NET页面之间传递值的几种方式 页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryS ...

  3. js页面跳转常用的几种方式(转)

    js页面跳转常用的几种方式 转载  2010-11-25   作者:    我要评论 js实现页面跳转的几种方式,需要的朋友可以参考下. 第一种: 复制代码代码如下: <script langu ...

  4. jQuery Mobile页面跳转切换的几种方式

    jQuery Mobile在移动开发中越来越受到欢迎. 而他的各个版本号也在持续不断的更新中.相同的我也非常喜欢它,它加快了我们开发HTML5的速度. 同一时候又具备jQuery一样的操作方法. 学起 ...

  5. PHP页面跳转传值的三种常见方式

    一. POST传值 post传值是用于html的<form>表单跳转的方法,很方便使用.例如: ? 1 2 3 4 5 6 7  <html>  <form action ...

  6. Spring MVC中页面向后台传值的几种方式

    在学习 Spring Mvc 过程中,有必要来先了解几个关键参数:   @Controller:         在类上注解,则此类将编程一个控制器,在项目启动 Spring 将自动扫描此类,并进行对 ...

  7. ASP.NET 页面之间传递值的几种方式

    1.使用QueryString,  如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer4.Applicatio ...

  8. ASP.NET页面之间传递值的几种方式

    目录 QueryString Session Cookie Application 一.QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中. ...

  9. [转]ASP.NET页面之间传递值的几种方式

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

随机推荐

  1. 基于DES算法加密的防撞库密码系统项目总结

    项目内容:基于DES算法加密的防撞库密码系统 小组名:zqhzkzkj 目标:1.对用户输入的8位字符进行DES加密,要求用户输入8位密钥 2.对于不同的网站,不同的用户名生成不同的密码 小组成员:周 ...

  2. PhantomJS:基于WebKit、开源的服务器端JavaScript API

    PhantomJS是一个基于WebKit的服务器端JavaScript API,它基于 BSD开源协议发布.PhantomJS无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM ...

  3. C++Primer 第二章

    //1.程序尽量避免依赖于实现环境的行为.比如:如果将int的尺寸看成一个确定不变的已知值,那么这样的程序就称为不可移植的. typedef int int32; //使用类似的typedef,可以有 ...

  4. zip格式jdk在Linux环境下的安装过程

    1下载jdk [root@localhost opt]# cd soft_bak/[root@localhost soft_bak]# lsjdk1.7.0_25.zip postgresql-9.4 ...

  5. SQL 数据库 存储过程 视图

    一.存储过程 1.概述 存储过程是一组编译在单个执行计划中的T-SQL语句 存储过程:就像函数一样的会保存在数据库中(可编程性) 存储过程的优点: 1.允许模块化程序设计 2.允许更快执行如果某操作需 ...

  6. 强连通(hdu4635)最多增加几条单向边后满足最终的图形不是强连通

    Strongly connected Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  7. 圆的反演变换(HDU4773)

    题意:给出两个相离的圆O1,O2和圆外一点P,求构造这样的圆:同时与两个圆相外切,且经过点P,输出圆的圆心和半径 分析:画图很容易看出这样的圆要么存在一个,要么存在两个:此题直接解方程是不容易的,先看 ...

  8. .NET: WPF Binding对数据的校验和转换以及多路Binding

    一.校验 一般需要对target上的值进行校验. xaml: <Window x:Class="WpfApplication1.MainWindow" xmlns=" ...

  9. 构造方法特点,void

    构造方法特点: 1.和类有相同的名字 2.无返回值 3.被默认强制void void作用:====>>说明声明的方法没有返回值 构造方法作用: -->初始化实例属性 -->用于 ...

  10. struts文件上传(多文件)

    第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...