1、QueryString

当页面上form按照get的方式向页面发送请求数据的时候,web server会将请求数据放入

一个QEURY_STRING的环境变量中,然后通过QeueryString方法从这个变量中获取相应的参数。

例如:

发送参数页面Test1.aspx 按钮单击代码:

string url = "Test2.aspx?id="+ txtId.Text;

Response.Redirect(url);

接收参数页面 Test2.aspx

后台代码获取:string id=Request.QueryString["id"];

优点:使用比较简单

缺点:安全性低,参数直接暴露在url上,并且不能传递对象。

2、Session

把需要传的值放在Session变量中,然后在另外一个变量中使用它,session存放在服务器端,

在Session变量中存储过多的变量,会消耗较多的服务器资源,所以要及时清理不需要的Session变量。

优点:能传递复杂对象,数据量大小不限制

缺点:作为全局变量,容易误操作。

用法:

Session["id"]= txtId.Text;

在接收页面调用:string id=Session["id"].ToString();

3、Application

Application在整个应用程序生命周期都是有效的,类似于使用全局变量,是所有的用户

共用的全局变量,session是单个用户独有的全局变量,Application一般用于记录用户

信息、统计在线人数等。

用法:

Application.Lock();

Application["id"]= txtId.Text;

Server.Transfer("Test2.aspx");

Application.UnLock();

在接收页面调用:string id=Application["id"].ToString();

4、Cookie

Cookie主要用于客户端保存用户的信息,比如登录信息,它通过HTTP头传递信息,只能

包含字符串的值,通过Request对象的Cookie集合可以获得浏览器所有的Cookie。

优点:使用简单,可以减轻服务器的负担,通过Cookie来保存用户的登录状态,实现记住

用户登录的功能。

缺点:被认为用来收集用户隐私而遭到批评,也可能被别人篡改、伪造登录信息。

用法:

Test1.aspx 按钮单击代码:

HttpCookie name =new HttpCookie("name1");

HttpCookieage = new HttpCookie("age1");

name.Value = txtName.Text;

age.Value = txtAge.Text;

Response.Cookies.Add(name);

Response.Cookies.Add(age);

Server.Transfer("Test2.aspx");

Test2.aspx 按钮单击代码:

TextBox1.Text = "姓名是:" +Request.Cookies["name1"].Value.ToString() + "年龄是:" +Request.Cookies["age1"].Value.ToString();

5、Server.Transfer

Server.Transfer 是一个很奇特的方法。当使用 Server.Transfer 方法重定向页面时,

虽然页面也会被重定向至指定页,但是并不会在浏览器的URL上体现出来,并且若重定

向的页面后有参数,也不会显示在浏览器的URL上。

优点:直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请求;

缺点:客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意想不到的问题。

比如如果源页面和目的页面不在同一个虚拟目录或其子目录下,那么使用相对路径的

图片、超链接都会导致错误的指向。可以传递各种数据类型的值和控件的值。

来源:我的公众号

Asp.Net页面传值的方法简单总结【原创】的更多相关文章

  1. Asp.net 页面传值的方法

    ASP.NET页面传值的方法 From:Refresh-air 在面试的时候,经常会遇到这样的问题,其实我们会对其中的几种方法比较熟悉,因为项目中经常使用.但是要全面的回答ASP.NET中页面传值的方 ...

  2. ASP.NET页面传值的方法

    ASP.NET页面传值的方法 From:Refresh-air 在面试的时候,经常会遇到这样的问题,其实我们会对其中的几种方法比较熟悉,因为项目中经常使用.但是要全面的回答ASP.NET中页面传值的方 ...

  3. ASP.NET页面传值不使用QueryString

    ASP.NET页面传值不使用QueryString   Asp.net中的页面传值方法: 1         Url传值 特点:主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址 ...

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

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值. 存储对象传值.ajax.类.model.表单等!下面欧柏泰克和大家一起来看看asp.net页面传值方式一般有哪些?常用的较简单 ...

  5. ASP.Net页面传值比较

    ASP.Net页面传值比较   作为一个ASP.Net程序员,尤其是搞B/S开发的,对于不同页面之间变量值的传递用的非常广泛,而掌握不同方式之间的区别和特点也就很有必要.本文将针对这一知识点做一个简单 ...

  6. ASP.NET页面传值与跳转

    asp.net页面传值的五种方法:QueryString,Session,Application,Request.Cookies,Server.Transfer 其中Cookie和Server.Tra ...

  7. Struts2中在Action里面向前端页面传值的方法总结

    由于在Action中并不能直接诶访问Servlet API,但它提供了相关类ActionContext来访问HttpServletRequest.HttpSession和ServletContext, ...

  8. net面试 ASP.NET页面传值的各种方法和分析 (copy)

    Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题 ...

  9. webform 页面传值的方法总结

    ASP.NET页面之间传递值的几种方式   页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有Quer ...

随机推荐

  1. POJ 3294 出现在至少K个字符串中的子串

    在掌握POJ 2774(两个串求最长公共子串)以及对Height数组分组后,本题还是容易想出思路的. 首先用字符集外的不同字符连接所有串,这是为了防止两个后缀在比较时超过某个字符串的分界.二分子串的长 ...

  2. 三步快速解决dll冲突问题

    最近在推广应用我们的分布式服务网关(Web Api):业务组大部分对外的业务逻辑以HSF服务或者自定义扩展插件的方式,注册并发布到分布式服务网关中,统一对外提供WebApi服务.临时介绍下我们的分布式 ...

  3. Python数据处理进阶——pandas

    对于python进行数据处理来说,pandas式一个不得不用的包,它比numpy很为强大.通过对<利用python进行数据分析>这本书中介绍pandas包的学习,再加以自己的理解,写下这篇 ...

  4. Xamarin.Android 绑定友盟社会化分享组件

    Xamarin.Android 绑定友盟社会化分享组件 最近在开发博客园Android App的时候需要用到友盟社会化分享组件,在github上搜了一下都没有找到最新版本绑定好的项目,就自己动手来绑定 ...

  5. MVC 5 + EF6 完整教程16 -- 控制器详解

    Controller作为持久层和展现层的桥梁, 封装了应用程序的逻辑,是MVC中的核心组件之一. 本篇文章我们就来谈谈 Controller, 主要讨论两个方面: Controller运行机制简介 C ...

  6. Maven的简单搭建

    Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.接下来将从下面几个方向介绍maven: (1)Maven简单介绍 (2)Maven安装与配置 (3)Maven ...

  7. 关于for循环的几种经典案例

    由于for循环可以通过控制循环变量的初始值和循环结束条件来改变遍历的区间,所以在排序或者遍历的时候,利用for循环就比较简单,以下是本人学习后得到的一些总结案例. 1.排序的应用 1)交换排序:通过取 ...

  8. 如何在Unity中分别实现Flat Shading(平面着色)、Gouraud Shading(高洛德着色)、Phong Shading(冯氏着色)

    写在前面: 先说一下为什么决定写这篇文章,我也是这两年开始学习3D物体的光照还有着色方式的,对这个特别感兴趣,在Wiki还有NVIDIA官网看了相关资料后,基本掌握了渲染物体时的渲染管道(The re ...

  9. SYRefresh 一款简洁易用的刷新控件 支持tableview,collectionview水平垂直刷新功能

    SYRefresh 地址: https://github.com/shushaoyong/SYRefresh 一款简洁易用的刷新控件 示例程序:   默认刷新控件使用方法: //添加头部刷新控件 Sc ...

  10. 龟兔赛跑,杭电oj-2059

    原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=2059 [Problem Description] 据说在很久很久以前,可怜的兔子经历了人生中最大的打击 ...