zoukankan      html  css  js  c++  java
  • Asp.Net页面传值的方法简单总结【原创】

    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地址是不改变,会导致在新的页面可能出现一些意想不到的问题。

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

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

    来源:我的公众号

  • 相关阅读:
    LeetCode 977 有序数组的平方
    LeetCode 24 两两交换链表中的节点
    LeetCode 416 分割等和子集
    LeetCode 142 环形链表II
    LeetCode 106 从中序与后序遍历序列构造二叉树
    LeetCode 637 二叉树的层平均值
    LeetCode 117 填充每个节点的下一个右侧节点
    LeetCode 75 颜色分类
    redhat 7.4 挂载ntfs格式的u盘并且使用
    redhat 查看CPU frequency scaling(CPU频率缩放)
  • 原文地址:https://www.cnblogs.com/hgmyz/p/6978404.html
Copyright © 2011-2022 走看看