参考地址: 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. ios app下载跳到itunes

    <body class="box"> <div class="text"> <a href="https://itune ...

  2. JAX-WS(二)之使用wsimport创建WebService客户端

    客户端开发的通常过程是从已有的WSDL处罚,创建辅助类JAXB对象和Service代理类,然后基于这些类开发自己的客户端应用. 开发步骤: 创建eclipse项目: 运行wsimport命令生成客户端 ...

  3. java collections读书笔记(10) Set

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVgAAADbCAIAAACnXR7VAAAgAElEQVR4nOx9d1hVV9Y3880zb2YmM3 ...

  4. codeforces 520 Two Buttons

    http://codeforces.com/problemset/problem/520/B B. Two Buttons time limit per test 2 seconds memory l ...

  5. SQL 面向对象(委托)

    委托:也称为代理,事件也是一种委托:定义在类的最外面 1.定义委托关键字:delegate函数签名:签名和函数保持一致定义委托的时候要根据函数来定义public delegate int First( ...

  6. C++之路进阶——bzoj2152(聪聪可可)

    F.A.Qs Home Discuss ProblemSet Status Ranklist Contest ModifyUser  hyxzc Logout 捐赠本站 Notice:由于本OJ建立在 ...

  7. 面向切面编程AOP:基于XML文件的配置

    除了使用AspectJ注解声明切面,Spring也支持在bean的配置文件中声明切面,这种声明是通过aop scheme中的XML元素完成的. 首先建立一个类: package com.sevenhu ...

  8. 生成apache证书(https应用)

    # cd /usr/local/apache2/conf# tar zxvf ssl.ca-0.1.tar.gz# cd ssl.ca-0.1生成根证书:# ./new-root-ca.sh      ...

  9. paper 74:MATLAB图像处理_HSV与RGB颜色空间互转

    HSV空间:分别是H(色调)——S(饱和度)——V(亮度) 与HSI颜色空间类似:分别是H(色调)——S(饱和度)——I(强度) 注意: 强度和亮度差不多是一个概念. 饱和度代表的是渗入白光的数量级, ...

  10. 自动开票-不能获取汇款地址 Cannot get remit to address

    1. Cannot get remit to address 1. 查看客户Bill-to Address的Country信息; 2. 选择Receivable Manager职责,通过路径Setup ...