zoukankan      html  css  js  c++  java
  • 页面之间值传递经常使用的几种方式

    1.QuerySting在页面间传递值

       这样的方法的写法:在要传递值的页面,Response.Redirect(url),值包括在在url中。接收值得页面,Request.QueryString["变量名"]。

        这是使用起来非常easy的一种方式。可是它不是非常安全,由于值会在浏览器里的地址栏里显示。

    而且它也不能传递对象,对长度也有限制,假设要传递的值非常多。且对安全要求也高的话,这样的方式就不适合了。

    2.Session变量

        我们通常在一个页面中。将值放到session变量中,在另外几个页面使用它。

    Session变量存储过多的数据会消耗比較多的server资源,在使用时应该谨慎。通常将登陆的username和password防到session中,其它页面依据推断session中username和password是否有值来推断用户是否登录。

        写法:存入到session变量。Session["name"]=“要放入的值”;读取session中的值,变量名=Session["name"].ToString();

    3.Cookie对象变量

        Cookie对象变量和session一样,他们不同的是。session是存在server端,而cookie是存放在client的。

        写法:将值存入到cookie中

        HttpCookie userName=new HttpCookie("name");
                userName.Value = "值";
                Response.AppendCookie(userName);

        读取cookie中的值

       变量名 = Request.Cookies["userName"].Value.ToString();

    4.使用Application 对象变量

        Application对象的作用范围是整个全局,他对全部用户都有效,session和cookie是对一个用户而言,所以我们能够用它统计登陆该站点的人数。Application变量不会自己消亡,会始终占领内存。创建过多的变量会减少响应速度,仅仅有在服务被中止、Global.asa被改变或者该Application被卸载下才会被终止。

       写法:将值存入到application中, Application["name"] = "值";

    读取值,变量名= Application["name"].ToString();

        上面是我经常使用到的几种方式,当然还有其它方式。

    还有利用某些控件的PostBackUrl属性。使用Server.Transfer,使用@PreviousPageType指令,这些临时没用过,在以后会试着用。用的多了就会有对照,就能知道在什么场合更适合哪种方式。



  • 相关阅读:
    Android 4.3 系统裁剪——删除不使用的app及添加自己app
    poj Muddy Fields
    在一台服务器上搭建相对高可用HiveServer实践
    HashMap在并发场景下踩过的坑
    搜索实时个性化模型——基于FTRL和个性化推荐的搜索排序优化
    关于扁平化视觉设计趋势的一些小分享
    如何从“点子”落地到“执行”?—完整解析1个手游传播类mini项目的进化
    网站规划通识:原型图绘制的一些注意事项
    内容社交产品中的关键数据——获得良好反馈的用户比例
    白木彰:具有普遍性的设计力
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10728693.html
Copyright © 2011-2022 走看看