关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。

1.  使用QueryString变量

QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    string s_url;
    s_url = "b.aspx?name=" + Label1.Text;
    Response.Redirect(s_url);
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    Label2.Text = Request.QueryString["name"];
}

2.  使用Application 对象变量

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

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    Application["name"] = Label1.Text;
    Server.Transfer("b.aspx");
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    Application.Lock();
    name = Application["name"].ToString();
    Application.UnLock();
}

3.  使用Session变量

想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    Session["name"] = Label.Text;
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Session["name"].ToString();
}

4.  使用Cookie对象变量

这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    HttpCookie cookie_name = new HttpCookie("name");
    cookie_name.Value = Label1.Text;
    Reponse.AppendCookie(cookie_name);
    Server.Transfer("b.aspx");
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Request.Cookie["name"].Value.ToString();
}

5.  使用Server.Transfer方法

这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。

a.aspx的C#代码

public string Name
{
    get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
    Server.Transfer("b.aspx");
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    a newWeb;   //实例a窗体
    newWeb = (source)Context.Handler;
    string name;
    name = newWeb.Name;
}

转载于:https://www.cnblogs.com/waw/archive/2011/08/29/2156963.html

艾伟:ASP.NET跨页面传值技巧总结相关推荐

  1. ASP.NET跨页面传值技巧

    1.  使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法 ...

  2. ASP.NET跨页面传值技巧总结【转】

    1.使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但 ...

  3. ASP.NET跨页面传值技巧总结

    1. 使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法. ...

  4. ASP.NET跨页面传值(二)

    在网页应用程序的开发中,页面之间的传值应该是最常见的问题了. 在这篇文章里,azamsharp 将为我们介绍一些ASP.NET页面传值的方式.本文所举的例子非常简单,仅仅包含了一个文本框和几个按钮,当 ...

  5. asp.net 跨页面传值(一)

    1.  使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法 ...

  6. asp.net跨页面传值收集

    1.  使用QueryString变量 QueryString是一种非?lt;虻サ拇捣绞?他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个 ...

  7. 【转】ASP.NET中页面传值

    http://www.cnblogs.com/wenly/archive/2008/06/10/1216678.html 一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交,    & ...

  8. 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...

    页面传值--最佳答案6种方式: 一. 使用QueryString变量 QueryString是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安全 ...

  9. angularJs 跨控制器与跨页面传值

    虽然网上概括了四种或更多的传值方式,但我现在用的顺手的就两种 首先要知道AngularJs可以构建一个单页面应用程序,所以我划分为跨控制器传值 和 跨页面传值 两类 1.跨控制器传值-- $rootS ...

最新文章

  1. virtual hust 2013.6.20 数论基础题目 D - Just the Facts
  2. Word那些你不知道的快捷功能
  3. 百度面试 中缀表达式变成后缀表达式
  4. [hdu3549]Flow Problem(最大流模板题)
  5. Nacos 发布0.3.0版本,迄今为止最好看的版本
  6. mysql数据加百分号_使用MySQL SELECT语句时,在每个值的末尾添加一个百分号(%)...
  7. [转]Eclipse创建Maven项目
  8. property中的read,write是什么意思?
  9. Atitit 项目管理软件 在线服务 attilax总结 1. 项目管理协作的历史 1 1.1. Worktile 406k 1 1.2. Teambition  584k in baidu
  10. vue-calendar 基于 vue 2.0 开发的轻量,高性能日历组件
  11. Java内部类定义与调用
  12. 《延禧攻略》的配色,简直美到爆!
  13. iTEXT将html文档转PDF,spire.doc包html转word(包括样式修改和添加图片/页码等设置)
  14. 设计一个Triangle类继承自GeometricObject类
  15. java中除数时刻0的异常_java中除数为0时出现的异常情况
  16. P2882 [USACO07MAR]Face The Right Way G 【贪心 + 差分】
  17. 手游服务器架设用什么系统,架设手游用什么云服务器
  18. 重积分的计算机应用开题报告,重积分的数值计算【信息科学与技术专业】【毕业设计 文献综述 开题报告】.docx...
  19. 一般熟练盲打需要多久_学会盲打要多长时间,每天要练多长时间 盲打要练多久...
  20. 数学笔记14——微积分第一基本定理

热门文章

  1. 再写单链表(不带头单链表)
  2. 数组名和取数组名的区别
  3. C语言多文件编译链接为1个可执行文件的简单原理
  4. 多重继承之虚继承(主要是为了解决产生的数据冗余问题)
  5. 多线程顺序交替打印ABCD
  6. C库函数与Linux系统函数之间的关系
  7. java高分面试指南:javamvc模式简单案例
  8. Java面试题,java工程师求职简历
  9. 覆盖所有面试知识点,建议收藏
  10. 51Nod 1043 幸运号码