早就想总结下前台关于传值和缓存的一些使用,今天终于写了这篇文章、文章不深,非常适合初学者。
Cookie
介绍: Cookie是存在用户浏览器中的一个文件、比如存入用户名和密码、下次实现自动登录、或者一些用户的个人信息、实现服务器端可以对客户端的不同客户进行不同服务,通常Cookie存在客户端是加密过的、当Cookie到一定数量、或者到设置好的删除日期、浏览器就会自动清除Cookie。
用处:
1、 记录用户名和密码
以及该用户需要保存的一些信息,如购物购站,使用cookie,可以让用户自动登录到站点等。
2、 定制站点
可以使用cookie来记录用户的偏好。
3、 定向广告
可以使用cookie来记录用记经常访问的主题,并向他们显示与这些主题相关的广告。
特点:
1 、放在客户端
2 、不安全、容易被人修改、造成Cookie欺骗
3 、大小不能超过4K,每个网站只允许存20
4 、减少服务器的使用
CSDN的本地Cookie文件如图
Cookie与服务端交互图
使用
<span style="font-size:18px;"> //写入
HttpCookie ITOOCookie = new HttpCookie(key, value);
//设置时间
ITOOCookie.Expires.AddHours(20);
//读取获取
HttpCookie userInfoCoookie = Request.Cookies.Get("selfUserInfo");
var userInfo = userInfoCoookie.Value;
</span>
Session
Session在平时用的非常爽、因为我用MVC各个控制器都可以读到、有点像静态变量的意思、哇咔咔。
特点:
1 数据放在服务器上,安全
2 如果访问次数多、占用服务器资源
交互图:
使用:
<span style="font-size:18px;"> //写入
Session.Add("id", studentViewModel.StudentNo);
//读取
Session["studentIDBox"]
</span>
Session也是Key和值的、写入用key和值、读取用key
ViewData
认识:ViewData是字典类型,
使用
//后台赋值
ViewData["studentSex"] = studentViewModel.Sex;
//页面读取
<span style="white-space:pre"> </span>@ViewData["dateNow"]
http://blog.csdn.net/hejingyuan6/article/details/39377553
ViewBag
使用
//后台赋值
ViewBag.DateNow= DateTime.Now;
//前台使用
<span style="white-space:pre"> </span>@ViewBag.DateNow
http://blog.csdn.net/hejingyuan6/article/details/39377553?source=1
ViewData与ViewBag异同点
1 MVC3视图数据可以通过ViewBag属性访问,MVC2中是使用ViewData,MVC3保留了ViewData
2 ViewBag是动态类型(dynamic),ViewData是一个字典型的(Dictionary)。
3 viewData比viewBag要快,且在viewPage中查询数据是需要转换数据类型,而viewBag不需要数据转换
总结:
其实各种传值都非常简单,无非就是键值字典,或者动态类型、点出属性赋值,只要知道他们的相应域,生命周期,各自的用处,就可以知道在哪种情况用哪种。
————————————————chenchen————————————————