asp.net页面间传值的五种方法

一、QueryString传值:

1. 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的整数值,例:

新建一个WEB项目,添加一个页面命名为Test1,在页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

string url=" Test2.aspx?UserName=" +tbxUserName.Text + "&Password=”+tbxPassWord.Text+””;

Response.Redirect(url);

}

添加另一个页面命名为Test2,在页面添加两个Label分别命名为labUserName和labPassWord,添加页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

labUserName.Text=Request.QueryString["UserName"];

labPassWord.Text=Request.QueryString["Password"];

}

把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

二、Server.Transfer传值:

1. 这种方式避免了要传递的值显示在浏览器的地址栏中,但是比较麻烦,例如:

2.
新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个
TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和
labPassWord,为Test1添加过程返回tbxUserName和tbxPassWord的值并添加btnLogin的Click()事件:

public string UserName

{

get

{

return tbxUserName.Text;

}

}

public string Password

{

get

{

return tbxPassWord.Text;

}

}

private void btnLogin_Click (object sender, System.EventArgs e)

{

Server.Transfer("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

Test1 t1; //创建原始窗体的实例

t1=( Test1)Context.Handler; //获得实例化的句柄

labUserName.Text= t1.UserName;

labPassWord.Text= t1.Password;

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

三、Cookie对象变量:

1. Cookie是针对每一个用户而言的,是存放在客户端的 ,Cookie的使用要配合ASP.NET内置对象Request来使用,例如:

2.
新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个
TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和
labPassWord,为Test1添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

HttpCookie cookie_UserName = new HttpCookie("UserName");

HttpCookie cookie_PassWord = new HttpCookie("PassWord ");

cookie_ UserName.Value = tbxUserName.Text;

cookie_ PassWord.Value = tbxPassWord.Text;

Response.AppendCookie(cookie_ UserName);

Response.AppendCookie(cookie_ PassWord);

Server.Transfer("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

labUserName.Text = Request.Cookies["UserName"].Value.ToString();

labPassWord.Text = Request.Cookies["PassWord "].Value.ToString();

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

四、Session对象变量:

1. Session也是针对每一个用户而言的,是存放在服务器端的 ,Session不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed 后,变量才会消失,例如:

2.
新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个
TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和
labPassWord,为Test1添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

Session["UserName"]=tbxUserName.Text;

Session["PassWord"]=tbxPassWord.Text;

Response.Redirect("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

labUserName.Text=Session["UserName"].ToString();

labPassWord.Text=Session["Password"].ToString();

Session.Remove("UserName"); //清除Session

Session.Remove("PassWord"); //清除Session

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

五、Application对象变量:

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

2.
新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个
TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和
labPassWord,为Test1添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

Application["UserName"] = tbxUserName.Text;

Application["PassWord "] = tbxPassWord.Text;

Server.Transfer("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

Application.Lock();

labUserName. Text = Application["UserName"].ToString();

labPassWord. Text = Application["PassWord "].ToString();

Application.UnLock();

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

时间: 2024-12-25 01:03:53

asp.net页面间传值的五种方法的相关文章

[HTML]页面间传值的五种方法

一.QueryString传值:1. 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的整数值,例如: 2. 新建一个WEB项目,添加一个页面命名为Test1,在页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,添加Button的Click()事件: private void btnLogin_Click (object sender, System.E

asp.net页面间传值的几种方法

表单提交 传送页面代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>表单提交</title> <script type="text/javascript" language="javascript"> function post() { forPost.action

ASP.NET页面间传值的几种常见方式

(新建项目WebApplication,添加新项:源页面Default.aspx和目标页面WebForm1.aspx. 在源页面Default.aspx中添加两个TextBox, ID分别为Nametb和Emailtb,两个Label;在WebForm1.aspx中添加两个Label,ID分别为lname和lemail,用于显示TextBox传过来的值.) 1.使用QueryString 使用QueryString在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它

iOS页面间传值的五种方式总结(Delegate/NSNotification/Block/NSUserDefault/单例)

iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例) iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notification方式:3.block方式:4.UserDefault或者文件方式:5.单例模式方式:6.通过设置属性,实现页面间传值 在iOS开发中,我们经常会遇到页面间跳转传值的问题,

PHP页面间传值的几种方法

方法一:require_once //Page a: <?php $a = "hello"; ?> //Page b: <?php require_once "A.php"; echo $a." world!"; ?> 访问b.php会得到:hello world! 方法二:通过页面跳转时携带参数传值 //Page a: <?php $a = "world"; ?> <a href=&

.NET 页面间传值的几种方法

1. QueryString 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的数值. 传递: location.href="WebForm2.aspx?name=" + yourName&&name2="+ yourName2; 接收: string name = Request.QueryString["name"]; 2. Form 传递: 根据表单内控件的name和val

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS

asp.net页面间传值方式

使用asp.net开发项目,必然会在页面间进行传值,本文介绍几种常见的页面传值方式,仅作笔记,以便后续查找使用. 前提:新建两个页面:ValuePage.aspx,ObtainValue.aspx,本文介绍的几种传值方式都是在valuePage页面赋值,传递到ObtainValue.aspx页面中. 在ValuePage.aspx前台新建两个textbox控件,ID分别为:tbUserName,tbPwd.ObtainValue.aspx页面上同样有两个textbox空间,ID:tbUserNa

详细介绍ASP.NET页面间数据传递的使用方法

在ASP.NET中,页面间数据传递的方法有很多.下面为大家总结一下,页面间数据传递的方法. Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在 用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合. 一.ASP.NET页面间数据