[HTML]页面间传值的五种方法
一、QueryString传值:
1. 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的整数值,例如:
2. 新建一个WEB项目,添加一个页面命名为Test1,在页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,添加Button的Click()事件:
private void btnLogin_Click (object sender, System.EventArgs e)
{
string url=" Test1.aspx?UserName=" +txtUserName.Text + "&Password=”+txtPassWord.Text+””;
Response.Redirect(url);
}
3. 添加另一个页面命名为Test2,在页面添加两个Lable分别命名为lblUserName和lblPassWord,添加页面的Load()事件:
private void Page_Load (object sender, System.EventArgs e)
{
lblUserName.Text=Request.QueryString["UserName"];
lblPassWord.Text=Request.QueryString["Password"];
}
4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。
二、Server.Transfer传值:
1. 这种方式避免了要传递的值显示在浏览器的地址栏中,但是比较麻烦,例如:
2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,在Test2页面添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加过程返回txtUserName和txtPassWord的值并添加btnLogin的Click()事件:
public string UserName
{
get
{
return txtUserName.Text;
}
}
public string Password
{
get
{
return txtPassWord.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; //获得实例化的句柄
lblUserName.Text= t1.UserName;
lblPassWord.Text= t1.Password;
}
4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。
三、Cookie对象变量:
1. Cookie是针对每一个用户而言的,是存放在客户端的 ,Cookie的使用要配合ASP.NET内置对象Request来使用,例如:
2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,在Test2页面添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加Button的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 = txtUserName.Text;
cookie_ PassWord.Value = txtPassWord.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)
{
lblUserName.Text = Request.Cookies["UserName"].Value.ToString();
lblPassWord.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分别命名为txtUserName和txtPassWord,在Test2页面添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加Button的Click()事件:
private void btnLogin_Click (object sender, System.EventArgs e)
{
Session["UserName"]=txtUserName.Text;
Session["PassWord"]=txtPassWord.Text;
Response.Redirect("Test2.aspx");
}
3. 添加Test2页面的Load()事件:
private void Page_Load (object sender, System.EventArgs e)
{
lblUserName.Text=Session["UserName"].ToString();
lblPassWord.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分别命名为txtUserName和txtPassWord,在Test2页面添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加Button的Click()事件:
private void btnLogin_Click (object sender, System.EventArgs e)
{
Application["UserName"] = txtUserName.Text;
Application["PassWord "] = txtPassWord.Text;
Server.Transfer("Test2.aspx");
}
3. 添加Test2页面的Load()事件:
private void Page_Load (object sender, System.EventArgs e)
{
Application.Lock();
lblUserName. Text = Application["UserName"].ToString();
lblPassWord. Text = Application["PassWord "].ToString();
Application.UnLock();
}
4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。
[HTML]页面间传值的五种方法的更多相关文章
- iOS页面间传值的五种方式总结(Delegate/NSNotification/Block/NSUserDefault/单例)
iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例) iOS页面间传值的方式(NSUserDefault/Delegate/NSNot ...
- PHP页面间传值的几种方法
方法一:require_once //Page a: <?php $a = "hello"; ?> //Page b: <?php require_once &q ...
- asp.net页面间传值的几种方法
表单提交 传送页面代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server ...
- .NET 页面间传值的几种方法
1. QueryString 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的数值. 传递: location.href="W ...
- ASP.NET页面间传值的几种方式
ASP.NET页面间传值的几种方式 1.使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在 ...
- HTML 页面跳转的五种方法
H方法TML 页面跳转的五种方法 下面列了五个例子来详细说明,这几个例子的主要功能是:在5秒后,自动跳转到同目录下的hello.html(根据自己需要自行修改)文件.1) html的实现 <he ...
- PHP页面间参数传递的四种方法详解
2016-04-16 定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用.------------------------ ...
- js实现页面与页面之间传值的几种方法优劣
1. cookie 传值, 缺点: cookie储存是需要服务器支持的,本地直接运行静态文件是实现不了的 <script> //添加 cookie function cp_add_cook ...
- JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
在WEB页面中,我们实现页面跳转的方法通常是用LINK,BUTTON LINK ,IMG LINK等等,由用户点击某处,然后直接由浏览器帮我们跳转. 但有时候,需要当某事件触发时,我们先做一些操作,然 ...
随机推荐
- j2ee servlet listener
JSP/Servlet 中的事件处理写过AWT或Swing程序的人一定对桌面程序的事件处理机制印象深刻:通过实现Listener接口的类可以在特定事件(Event)发生时,呼叫特定的方法来对事件进行响 ...
- PostgreSQL Replication之第十四章 扩展与BDR
在这一章中,将向您介绍一个全新的技术,成为BDR.双向复制(BDR),在PostgreSQL的世界里,它绝对是一颗冉冉升起的新星.在不久的将来,许多新的东西将会被看到,并且人们可以期待一个蓬勃发展的项 ...
- PostgreSQL 中定义自己需要的数据类型
PostgreSQL解决某系数据库中的tinyint数据类型问题,创建自己需要的数据类型如下: CREATE DOMAIN tinyint AS smallint CONSTRAINT tinyint ...
- JavaBean 动作元素事例
JavaBean.jsp JavaBeanSuccess.jsp Type类 效果
- C++builder 图像字符流的存储和加载
__fastcall TForm6::TForm6(TComponent* Owner) : TForm(Owner) { #if 1 //for debug AllocConsole(); Atta ...
- [原创]java WEB学习笔记50:文件上传案例
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Java基础(52):ClassCastException详解(转)
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这 ...
- java.面向对象特征
面向对象特征: 封装,多态,继承 面向对象思想: 封装,继承,多态,接口
- struts不同session范围添加、访问属性
第01步:编写bean类 package com.self.bean; import java.util.Date; public class User { private Date birthday ...
- MVC4 下DropDownList使用方法
与MVC3相比,差别很大: 表现形式一: public ActionResult Main() { List<SelectListItem> items = new List<Sel ...