background image

在下面的代码中, txtName”

是待传值的文本框的名字,那个跟在 ?”

后面的 Name” 是一

个临时 response 变量的标志,它承载了 txtName 的值。

 

private

 

void

 Button1_Click(

object

 sender, System.EventArgs e)

{
    

// Value sent using HttpResponse

    Response.Redirect(

"WebForm5.aspx?Name="

+txtName.Text);

}

 

 

OK,到此位置,我们已经完成了 Response 的传值。但是,我们在"WebForm5.aspx"中怎样
接收传来的值呢?不要急,我们将在"WebForm5.aspx"的 page_Load 事件中写下面的代码。

首先,我们要确认传来的值不是 null”

,如果不是 null”,我们就可以用 Label 将这个值显示

出来。

注:当我们使用 Response.Redirect 传递变量时,所有的变量都能在浏览器的 URL 中看到,
我们不能用这种方法来传递重要的机密数据,如信用卡号等。

 

if

 (Request.QueryString[

"Name"

]!= 

null

)

    Label3.Text = Request.QueryString[

"Name"

];

 

2. Cookies 方式

 

接下来是用 cookies, Cookies

由服务端创建,但保存在客户端,当我们点击 Cookies”按钮

时,运行如下代码:

 

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 输出到另外一个网页。

然后让我们看看怎样在目标页面中取出这个 cookie 中的值: