参考地址: 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. Swift游戏实战-跑酷熊猫 13 二段跳的实现

    这节内容我们来实现熊猫的二段跳. 要点: 二段跳的逻辑: 逻辑一,第一次点击屏幕,status就会变成jump. 逻辑二,第二次点击屏幕,status就会变成jump2. 逻辑三,当status变成j ...

  2. Codeforce Round #226 Div2

    这次CF虽然,但是- - 第一题看了很久的题目意思额,虽然慢了点- -,但还算没出错,还学会了hack了- -,还+了100- - 第二题想了很久- -...后来发现可以暴力- -,哎 第三题本来也应 ...

  3. A letter to a good guy in USA

    Hi Nick:Busy recently forgetting to check Yammer in box.Really nice of you to agree to provide help ...

  4. nyist 62 笨小熊

    http://acm.nyist.net/JudgeOnline/problem.php?pid=62 笨小熊 时间限制:2000 ms  |  内存限制:65535 KB 难度:2   描述 笨小熊 ...

  5. nyist 506 洗澡

    http://acm.nyist.net/JudgeOnline/problem.php?pid=506 洗澡 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 Mos ...

  6. UML: 状态机图

    摘自http://www.umlonline.org/school/viewthread.php?tid=39 活动图将流程分解为一个一个的活动,通过活动的先后顺序来展示流程:而状态机图从某个物品的状 ...

  7. 判断java中两个对象是否相等

    java中的基本数据类型判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false. 但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2 ...

  8. php获取文件后缀名格式

    function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: function get_extension($fil ...

  9. 用Commons-FileUpload组件实现文件上传

    需要用到Tomcat还有commons-fileupload-1.3.1.jar包和commons-io-2.4.jar包. 如果需要传一个文件,form表单必须有enctype="mult ...

  10. linux时间的查看与修改

    1.查看时间和日期 date 2.设置时间和日期 将系统日期设定成1996年6月10日的命令 date -s 06/22/96 将系统时间设定成下午1点52分0秒的命令 date -s 13:52:0 ...