码迷,mamicode.com
首页 > Web开发 > 详细

ASP.Net关于页面之间传值的几种方式和实现方法

时间:2015-09-05 12:22:16      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

Session、Cookie、Server.transfer、Querystring、Application

Session在用户向服务器发送首次请求的时候被创建,在用户关闭浏览器或者发生异常时被终止(也可以自己设定Session的过期时间)。

//Session创建
Session["Name"] = txtName.Text;
//在其他页面中读取Session值
if(Session["Name"] != null)
    Lable.Text = Session[""Name].toString();

 

Cookie做服务端创建,保存在客户端。

HttpCookie cName = new HttpCookie("Name");
cName.Value = txtName.Text; 
Response.Cookies.Add(cName); 
Response.Redirect("WebForm5.aspx");

创建一个名叫cName的Cookie实力对象,由于一个Cookie可以保存多个值,我们需要告诉编译器这个cookie将保存“Name”值,并把txtName.Text的值赋给它,并把它加到"输出流” 中,并使用Response.Redirect输出到另外一个网页。

if (Request.Cookies["Name"] != null )
    Label.Text = Request.Cookies["Name"].Value;

Session 和 Cookie 用法有些类似,一个是Request.Cookie 一个是 Request.QueryString

注:一些浏览器不支持Cookie。

 

Server.Trasfer(HttpContext)

我们还可以使用 Server.Transfer方式(或称HttpContext方式)在页面之间传递变量,此时,要传递的变量可以通过属性或方法来获得,使用属性将会比较容易一些。

public string GetName
{ 
    get { return txtName.Text; }
}

 

我们需要使用Server.Transfer把这个值发送到另外一个页面中去,请注意Server.Transfer只是发送控件到一个新的页面去,而并不会使浏览器重定向到另一个页面。所以,我们我们在地址栏中仍然看到的是原来页面的URL。如下代码所示:

Server.Transfer("WebForm5.aspx");

 

// You can declare this Globally or in any event you like

WebForm4 w;

// Gets the Page.Context which is Associated with this page 

w = (WebForm4)Context.Handler;
// Assign the Label control with the property "GetName" which returns string

Label.Text = w.GetName;

 

QueryString URL Response.Redirct

private void Button1_Click(object sender, System.EventArgs e)
{
    // Value sent using HttpResponse
    Response.Redirect("WebForm5.aspx?Name="+txtName.Text);
}

接收值要在Page_Load中

if (Request.QueryString["Name"]!= null)
    Label.Text = Request.QueryString["Name"];

  

Application

相当于一个全局的静态变量,可以在所有的页面中获取他。

// 为Application变量赋值

Application["Name"] = txtName.Text; 
Response.Redirect("WebForm5.aspx"); 

// 从Application变量中取出值

if( Application["Name"] != null ) 
    Label.Text = Application["Name"].ToString();

  

ASP.Net关于页面之间传值的几种方式和实现方法

标签:

原文地址:http://www.cnblogs.com/zyNNNNNNN/p/4782943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!