不可或缺的ASP.NET内置对象小结(2)

(1) IsPostBack:该属性可以检查.aspx页是否为传递回服务器的页面,常用于判断页面是否为首次加载。
如果为true则为回发响应,如果为false则为首次加载
(2) IsValid:该属性用于判断页面中的所有输入的内容是否应经通过验证,它是一个布尔值的属性。当需要使用服务器端验证时,可以使用该属性。
(3) IsCrossPagePostBack:该属性判断页面是否使用跨页提交,它是一个布尔值的属性。
(4) Response属性和Request属性上面讲过了

2.事件

Page类常用的事件及执行的先后顺序:
(1) Page.PreInit 事件:在页初始化开始时发生
(2) Page.Init 事件:当服务器控件初始化时发生;初始化是控件生存期的第一步。 (继承自 Control。)
(3) Page.InitComplite事件:在页初始化完成时发生
(4) Page.PreLoad事件:在页 Load 事件之前发生
(5) Page.Load事件:当服务器控件加载到 Page 对象中时发生。 (继承自 Control )
(6) Page.LoadComplete 事件:在页生命周期的加载阶段结束时发生
(7) Page.PreRender事件 :在加载 Control 对象之后、呈现之前发生。 (继承自 Control。)
(8) Page.PreRenderComplete 事件:在呈现页内容之前发生

四、ViewState对象

视图状态,在 ASP .NET 中,当一个表单被提交时,表单会连同表单值一起出现在浏览器窗口中。如何做到的呢?这是因为 ASP .NET 维持了您的 ViewState。 ViewState 会在页面被提交到服务器时表明它的状态。这个状态是通过在带有 < form runat=“server”> 控件的每个页面上放置一个隐藏域定义的。
这个对象是ASP.NET中特有的对象,在其他语言的后端技术中没有这个对象

protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack)//如果是第一次访问 { //先将Count的值设为0,并且保存在ViewState中 ViewState["count"] = 0; } } protected void btnAdd_Click(object sender, EventArgs e) { //每次点击按钮先取出ViewState中的值并且累加之后再次赋给ViewState ViewState["count"] = Convert.ToInt32(ViewState["count"]) + 1; Literal1.Text = ViewState["count"].ToString(); } }

使用ViewState实现页面信息的保存

保存数据

ViewState对象存储数据[键值对]Key=Value

取出数据

根据Key值取出Value值

总结

(1) ViewState中保存的数据全部被转换成object类型,取出时务必强制转换成特定类型
(2) ViewState只能在同一个页面的连续多次请求之间保存信息,页面跳转后信息就会丢失

ViewState的本质

ViewState的本质是一个隐藏域,和原始的.aspx文件中的多出来的标签一样,都是一个隐藏域,第一次创建ViewState对象其实是创建了一个隐藏域

不可或缺的ASP.NET内置对象小结

五、Session对象

使用方式和ViewState相似
Session对象用于存储在多个页面调用之间特定用户的信息。Session对象只针对单一网站使用者,不同的客户端无法相互访问。Session对象中止联机机器离线时,也就是当网站使用者关掉浏览器或者超过设定Session对象的有效时间,Session对象变量就会关闭。

1.Session的原理

Session是服务器将客户端的数据代替客户端做出对应的保存,问题是不同用户在选择商品时,Session是如何区分不同用户的选择?
(1) 服务器根据SessionID来区分不同的用户,它是一个很长的字符串
(2)SessionID在用户第一次访问时由服务器产生并由用户浏览器保存
(3)用户每次的操作,浏览器在向服务器请求时都会带着自己的SessionID

Web服务器是如何判断用户是第一次请求并为其生成SessionID?
(1)用户第一次打开浏览器并登陆网页,浏览器中没有任何SessionID。
(2)用户把当前网站的网页全部关闭,再次登陆网页,前面的SessionID就会丢失
(3)用户使用不同浏览器登录网页,不同浏览器之间的Session无法共享。

不可或缺的ASP.NET内置对象小结

2.属性

(1) SessionID:包含唯一的用户会话标识符
(2)Timeout:用户设置用户超时的时间,单位为分钟

3.方法

(1) Add(string name,object value):添加“键-值”对
(2)Remove(string name):根据键删除指定项
(3) Clear():从会话状态集合中移除所有的键值对
(4)Abandon():结束Session,取消当前会话

4.用途

(1)不用页面之间需要传递较为复杂的数据(对象)
(2)保存用户的登录信息,未登录者禁止访问相关页面

六、Cookie对象

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwzwpd.html