一、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]页面间传值的五种方法的更多相关文章

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

    iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例) iOS页面间传值的方式(NSUserDefault/Delegate/NSNot ...

  2. PHP页面间传值的几种方法

    方法一:require_once //Page a: <?php $a = "hello"; ?> //Page b: <?php require_once &q ...

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

    表单提交 传送页面代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server ...

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

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

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

    ASP.NET页面间传值的几种方式 1.使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在 ...

  6. HTML 页面跳转的五种方法

    H方法TML 页面跳转的五种方法 下面列了五个例子来详细说明,这几个例子的主要功能是:在5秒后,自动跳转到同目录下的hello.html(根据自己需要自行修改)文件.1) html的实现 <he ...

  7. PHP页面间参数传递的四种方法详解

    2016-04-16 定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用.------------------------ ...

  8. js实现页面与页面之间传值的几种方法优劣

    1. cookie 传值, 缺点: cookie储存是需要服务器支持的,本地直接运行静态文件是实现不了的 <script> //添加 cookie function cp_add_cook ...

  9. JAVASCRIPT实现的WEB页面跳转以及页面间传值方法

    在WEB页面中,我们实现页面跳转的方法通常是用LINK,BUTTON LINK ,IMG LINK等等,由用户点击某处,然后直接由浏览器帮我们跳转. 但有时候,需要当某事件触发时,我们先做一些操作,然 ...

随机推荐

  1. MySQL复制-设置延迟复制

    mysql> stop slave ; Query OK, 0 rows affected (0.00 sec) mysql> change master to master_delay= ...

  2. 给ubuntu系统换新装

    此次安装主要按照Flatabulous:Ubuntu系统美化主题 但自己在安装过程中发现了很多问题,一下一段黑色的是上面链接的文章,红色的是自己在操作过程中的一些改动 安装主题的第一步是安装Ubunt ...

  3. 《30天自制操作系统》08_day_学习笔记

    harib05a: 鼠标解读(01)P145 前一天已经让鼠标成功接收数据了,这些数据是什么意思? 笔者在这一部分来解读数据:让鼠标动起来啊,停在那不动有什么意思啊! 前面已经知道,鼠标每一次动作都是 ...

  4. 《30天自制操作系统》04_day_学习笔记

    harib01a: P65 用C语言实现内存写入 实现一个往黑画面上写入东西的函数 修改了naskfunc.nas中的内容 在bootpack.c中 用write_mem8()函数将VRMA中全部写入 ...

  5. 单链表的回文判断(O(n)时间复杂度和O(1)的空间复杂度)

    对于单链表来说,判断回文最简单的方法就是遍历链表,将链表中的元素复制到数组中,然后对数组进行判断是否是回文数组,但是这不符合O(1)的空间复杂度. 由于空间复杂度的要求,需要就地操作链表,不能开辟多余 ...

  6. fighting_使用CSS美化文字

    CSS3颜色渐变 background-image:linear-gradient(black,blue,green,red); 默认从上到下显示. 示例代码: <!DOCTYPE html&g ...

  7. HTML调用servlet(一)

    1.页面的数据表单 在使用Servlet处理用户请求之前,先准备一个页面,该页面用来提供数据表单.数据表单就是HTML中的<form>...</form>部分,当用户单击Sub ...

  8. ShowMessage和MessageDlg消息对话框(VCL)

    ShowMessage一个简单的消息提示: 例如:ShowMessage("xxxx"); MessageDlg(constAnsiString Msg, TMsgDlgType ...

  9. 强连通+二分匹配(hdu4685 Prince and Princess)

    Prince and Princess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Othe ...

  10. 20145207 《Java程序设计》第一周学习总结

    不好意思,来晚了   别的先不说,先道个歉,放假前跟娄老师多少发生点矛盾,望原谅. 假期忙实习还有一些其他事情,为了认真对待这门课,把剩下的时间留下来,争取一天一章来弥补. 由于没选课加上另一门课没开 ...