在web页面中参数的传递方法多样,主要有以下几种:
Viewstate,Querystring,Session, Application,Cookie,Cache。
Viewstate:
特点:服务启启动的各种控件的视图状态;包括控件的所有属性值;Enableviewstate可以启用和禁用视图状态; 优点:防止新产生一个页面实例后,丢失前一个页面的状态信息;
例如:在用户登录注册验证过程中,无须使用导致服务器往返行程的代码,我们只需要在客户端进行验证就可以了。另外有些控件的初始化仅在页面第一次被调用的时候使用,可以使用!ispostback来来完成初始化操作。
Querystring:
特点:用于页面间进行参数的传递,分为两种情况:在前台的话,可以利用超链接完成,超链接中用“?”来分离传送到的页面地址和传送参数的名字,用”+”拼接字符串形成最后要访问的地址信息,如果有多个参数进行传递的话,我们可以利用“&”来连接。在后台的时候,可以用response.redirect()来定位要传送的地页面和传送的参数。
优点:在querystring 传递参数的过程中系统开销相对比较小;
缺点:它只能进行字符串的传递,而且传递的参数在新得页面地址中都有所展现,安全性能比较低。
Session:
特点:Session传递参数的方式是一种比较普遍的方式,首先服务器端将某一个参数传递到session中,然后把session值送到客户端;当服务器每次调用session时,都会到客户端查询。Session节省了服务器端的内存开销,但是页面的回调增多。
Application:
特点:Application和Session相似,但是是存储在服务器端的形式,通常应用于网站的访问量等信息,用法和色素session相同。Application提供一种供整个访问服务器的用户使用的参数,但是该参数不能太大,以防占用大量的系统开销;
缺点:并且Application是依赖于服务器端的,当服务器重启时,Application的值丢失。在使用它的时候,尽量的设置他的属性为只读属性,避免线程同步,多个用户同时访问的情况。
Cache:
特点:与Application比较,cache建了一个过期机制,即给一个cache赋一个时间,当到达该时间时,存储在该cache中的值自动失效。Cache还有可以花优先级,优先级低的cache 可以先于优先级高的cache 移出。
Cookie:
特点:Cookie 是一小段文本信息,伴随着请求和响应在 Web 服务器和客户端之间传递。Cookie 包含每次用户访问站点时Web 应用程序都可以读取的信息。
缺点:Cookie是一种最不安全的数据传送方式,因为cookie是存储在客户端的文本,用户可以修改cookie来攻击服务器,因此在cookie中不能存放 比较机密的文件。大多数,我们用它存储用户的个性设制,和登陆信息。
用到的还少,多多在项目中实践,在这些理论的指导下,才能在不同的场合下分清利弊的选择。
版权声明:本文为博主原创文章,未经博主允许不得转载。