webform(六)内置对象 跨页面传值

内置对象跨页面传值有六种:Request,Response,Session,Cookie,Application,VIewState。

一、Request和ResponseRequest

request请求对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。
response 响应对象在ASP中负责将信息传递给用户.Response对象用于动态响应客户端请求,并将动态生成的响应结果返回到客户端浏览器中,使用Response对象可以直接发送信息给浏览器,重定向浏览器到另一个URL或设置cookie的值等。

//请求对象重定向传值

Response.Redirect("目标网页?a=值1&b=值2")。

//响应对象获得参数

Request["a"];

Request["b"];

QueryString  -  地址栏显示传值(get)采用键值对的模式传值,但有个很大的缺点,会把要传输的数据暴露在地址栏里。

二、Cookie

Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265[1]  。(可以叫做浏览器缓存)

每个浏览器都有自己的Cookie。

//建立Cookie对象并重定向到目标网页

Response.Cookies["键"].Value="值";

Response.Redirect("目标网页")

//目标网页接收Cookie对象

Request.Cookies["键"];
//会话Cookie
//20分钟自动过期关闭浏览器自动过期
Response.Cookies["键"].Value = 值;

//持久Cookie
//给Cookie设置一个过期时间
Response.Cookies["键"].Expires = DateTime.Now.AddDays(3);

//清除Cookie
//将Cookie的过期时间设置为今天以前的时间
Response.Response.Cookies["user"].Expires = DateTime.Now.AddDays(-10);

Cookie存在本地客户端,不占用服务器资源,可以用于保持用户登录状态,可以缓存不是很重要的数据。相对来说不是很安全,而且不能存中文。

三、Session

Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。以及如果需要的话,可能还有一定的操作空间。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到关闭浏览器所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

//定义Session并重定向
Session["键"]="值";
Response.Redirect("目标网页")

//接收Session 接收到的是一个object对象
Session["键"];

Session实际上是存在服务器上的缓存,只有会话型,20分钟或关闭浏览器会失效。优点是安全,可以存任意数据类型,缺点是占用服务器资源,取到的值是object类型,需要进行类型转换。

四、Appliction

web 上的一个应用程序可以是一组 ASP 文件。这些 ASP 文件一起协同工作来完成某项任务。ASP 中的 Application 对象用来把这些文件捆绑在一起。

Application 对象用于存储和访问来自任何页面的变量,类似于 session 对象。不同之处在于,所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。

Application 对象握有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。这意味着可以从任何的页面访问这些信息。同时也意味着你可在一个地点改变这些信息,然后这些改变会自动反映在所有的页面上。

使用方法和Session一样,

 Application["键"]="值";

保存在服务端,是公用的,所有人共用一套,有效期永久,不删除会一直存在,可以用在新闻类的网页上,针对高并发的数据。缺点是数据不够及时。

五、ViewState

在web窗体控件设置为runat = "server",这个控件会被附加一个隐藏的属性_ViewState,_ViewState存放了所有控件在ViewState中的状态值。ViewState是一个名称/值的对象集合。当请求某个页面时,ASP.NET会把所有控件的状态序列化成一个字符串,然后作为窗体的隐藏属性送到客户端,当客户端吧页面回传时,ASP.NET分析回传的窗体属性,并赋给控件对应的值。

ViewState类在重新请求页面时会自动把之前的控件的状态填充进去。

ViewState会自动附加。

六、

web端传值是一件很麻烦的事,因为http的无状态性。

QueryString是地址栏显示传值(get),Cookie和Session都是全局变量(post)。

时间: 2024-10-10 08:29:30

webform(六)内置对象 跨页面传值的相关文章

Webform(内置对象-Response与Redirect、QueryString传值、Repeater删改)

一.内置对象(一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值.若指定的cookie不存在,则创建它.若存在,则将自动进行更新.结果返回给客户端浏览器.2.方法(1)Redirect用法:Response.Redirect("url")作用是在服务器端重定向于另一个网页(2)Write功能:向客户端发送浏览器能够处理的

webform(内置对象)

一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值.若指定的cookie不存在,则创建它.若存在,则将自动进行更新.结果返回给客户端浏览器.2.方法(1)Redirect用法:Response.Redirect("url")作用是在服务器端重定向于另一个网页(2)Write功能:向客户端发送浏览器能够处理

SpringMVC使用进阶-内置对象和跳转

内置对象和页面跳转是web开发中比较重要的组成部分,springmvc作为新生代的框架,对这方面的支持也还算不错,这次着重分享跳转方式和内置对象的使用 一   页面跳转 页面跳转分为客户端跳转和服务端跳转两种,在springmvc中使用跳转是比较简单的,只需在return后面写就可以了 (1)客户端跳转 return "redirect:user.do?method=reg5"; return "redirect:http://www.baidu.com"; (2)

WebForm 内置对象2

Session: 与Cookies相比 相同点:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cookies一样 不同点: 1.Session的保存位置是保存在服务器上2.Session没有持久的,它的保存周期就是20分钟 重点:Session不要滥用,也不要不用,滥用可能会造成服务器内容溢出,不用会造成资源浪费,因为内存中的数据提取及交互是最快的 赋值:Session["key"] = 值:取值:string a = S

WebForm 跨页面传值

跨页面传值 内置对象:QueryString - 地址栏数据拼接 ?key=value 优点: 简单好用,速度快,不消耗服务器内存缺点: 只能传字符串 保密性不好 长度有限 Response - 响应请求对象 Response.Redirect(path); - 重定向 Response.Write(" aaaa "); -输出内容 Server.Transfer(path); Request - 获取请求对象 Request["key"] - 默认返回的就是str

C# WebForm内置对象2+Repeater的Command

内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.

WebForm 内置对象

一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值.若指定的cookie不存在,则创建它.若存在,则将自动进行更新.结果返回给客户端浏览器. Response.Redirect("url"); 如: Response.Redirect("zhu.aspx"); Response.Wri

WebForm 内置对象、数据增删改、状态保持

一.内置对象 1.Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); → 输出 Response.Redirect("Default.aspx"); → 跳转页面 2.Request对象:获取请求 Request["key"]来获取传递过来的值 → key:定义的名字 3.QueryString:地址栏数据传递 ?key=value&

Webform(五)——内置对象(Response、Request)和Repeater中的增删改

一.内置对象 (一)Response对象 1.简介:response 对象在ASP中负责将信息传递给用户.Response对象用于动态响应客户端请求,并将动态生成的响应结果返回到客户端浏览器中,使用Response对象可以直接发送信息给浏览器,重定向浏览器到另一个URL或设置cookie的值等. 2.方法:①.write方法:response.write ** 功能:向客户端发送浏览器能够处理的各种数据,包括:html代码,脚本程序等. 实例:response.write "I LOVE YOU