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. 《JavaScript面向对象编程指南(第2版)》读书笔记(一)

    目录 一.对象 1.1 获取属性值的方式 1.2 获取动态生成的属性的值 二.数组 2.1 检测是否为数组 2.2 增加数组长度导致未赋值的位置为undefined 2.3 用闭包实现简易迭代器 三. ...

  2. DbVisualizer:Oracle触发器,解决ORA-04098: 触发器 'USER.DECTUSERTEST_TRI' 无效且未通过重新验证

    我没有用orcal的管理工具,而是用的DbVisualizer 9.5.2,管理数据库. 场景:需要在oracle里面实在自增字段,在网上一搜一堆文档,然后自己就找了一段自己写如下: drop tab ...

  3. 基于JS的问卷调查

    主要工作 因为代码不好展示,也不好截长图,可以去看我的GitHub地址:https://github.com/14glwu/MyBlog/blob/master/questionnaire.html ...

  4. Thinkphp模板简单入门

    Thinkphp模板概述: ThinkPHP内置了一个基于XML的性能卓越的模板引擎,这是一个专门为ThinkPHP服务的内置模板引擎,使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签, ...

  5. SVN提交后自动推送消息到钉钉群

    钉钉设置机器人配置 1.进入配置机器人入口 2.添加机器人 3.测试WebHook请求 本人使用Postman进行测试 4.配置SVN 4.1 配置 Pre-commit hook 设置提交内容必须包 ...

  6. spoj 694. Distinct Substrings 后缀数组求不同子串的个数

    题目链接:http://www.spoj.com/problems/DISUBSTR/ 思路: 每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同的前缀的个数.如果所有的后缀按照su ...

  7. POJ1850-Code 递推数学

    题目链接:http://poj.org/problem?id=1850 题目大意: 按照字典序对升序排列组成的字母进行编号,给出一个长度不超过10的串,求出它的编号是多少?如果无法进行编号则输出0. ...

  8. [笔记]我的Linux入门之路 - 05.Eclipse的Python开发环境搭建与Numpy、Scipy库安装

    一.Python环境 直接终端查询下python安装没:python --version Python 2.7.12 Ubuntu竟然已经装了Python2.7,那就好说了.不然自己装和装jdk差不多 ...

  9. 【19道XSS题目】不服来战!

    记得第一次接触xss这个概念是在高中,那个时候和一个好基友通过黑客X档案和黑客手册.第一次接触到了除了游戏以外的电脑知识,然后知道了,原来电脑除了玩游戏还可以搞这些,从此两人一发不可收拾的爱上了玩黑这 ...

  10. 如何利用动态URL提升SEO及处理业务逻辑

    如果你正在建设一个新网站或者对现有网站重新设计,我们认为应该将网站的 URL 转换为用户友好的 URL,或搜索引擎友好的 URL,这类 URL 也称为语义 URL(Semantic URL).哪些UR ...