9.1
1 cookie & session

viewstate
viewstate的值保存在浏览器的html代码中 , 当浏览器关闭 , 则值消失 , 即viewstate是在本页面之内各函数间进行传值的 , 至于为什么要使用这种方法 , 因为在一个事件发生之后 , 页面可能会
刷新 , 如果定义全局变量会被清零 , 所以要使用 viewstate.
session
Session采用键值对 , 也就是说ID存放客户端 , 而值放在服务器端 , 是通过用户的ID去找服务器上对应的值 , 这种方式值放置在服务器端 ,有个时间限制 ,时间到则服务器自动释放.
session这个东西跟密码一毛钱关系也没有,只要有人在不同的浏览器登陆,服务器就会产生一个session(包括sessionID,session值)那么用户不用登陆成功也可以操作了,当用户的用户名和密码
正确时服务器会记住这个session
cookie
Cookies则有两种方法 , 一种方法是把值保存在浏览器的变量中 , 当浏览器关闭时结束 , 另一种方法是保存在硬盘中 , 只要时间不过期 , 下次还可使用.

 

2 程序执行的顺序

2.1
程序执行的的顺序从sb.Append("<a href='/broker/tu/tu/tu/" + user.ID + "'>基本信息</a>&nbsp;");开始分析
最后一个“tu”表示的是一个变量,即tu=user.ID;
1 当用户点击a标签的时候,程序首先进入/broker/tu/tu的cs界面执行load函数,然后顺序执行其他函数
2 this.tu = Ari.Ca.TerminalUser.Load(this.Request["tu"]);tu以这种方式被执行了
3 文件开始时会看有没有模板页,执行模板也中的内容
4 在模板页中遇到<asp:ContentPlaceHolder ID="pageLevelScripts" runat="server"></asp:ContentPlaceHolder>执行含有模板页的html
5 执行html界面,其中可能遇到 <%= %> 然后会调用后台的函数(因此,在<%= %>中的内容会在页面加载时就会被执行,所以不能通过这种方式实现a标签在后台的点击事件)
6 此时http://localhost:57245/broker/tu/tu/tu/3214077页面中就可以显示值了

3

点击<a>标签实现退出功能,可以链接一个新的界面,在新页面的load函数值清除session值

4

另:给html控件赋值: 不加runat="server"可以在前台定义变量,<%=test%> 在后台定义一个公共变量public string test; 在方法或page_load事件加载中给test赋值即可

 

posted on 2015-09-03 17:19  lvsally  阅读(458)  评论(0编辑  收藏  举报