您的位置:首页 > 其它

Web端 Cookie Session ViewData ViewBag

2015-09-06 17:51 295 查看
早就想总结下前台关于传值和缓存的一些使用,今天终于写了这篇文章、文章不深,非常适合初学者。

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"] 


/article/1475956.html





ViewBag





使用

//后台赋值
	ViewBag.DateNow= DateTime.Now;  
	//前台使用
<span style="white-space:pre">	</span>@ViewBag.DateNow 


/article/1475956.html?source=1







ViewData与[b]ViewBag异同点[/b]

1 MVC3视图数据可以通过ViewBag属性访问,MVC2中是使用ViewData,MVC3保留了ViewData


2 ViewBag是动态类型(dynamic),ViewData是一个字典型的(Dictionary)。


3 viewData比viewBag要快,且在viewPage中查询数据是需要转换数据类型,而viewBag不需要数据转换

总结:

其实各种传值都非常简单,无非就是键值字典,或者动态类型、点出属性赋值,只要知道他们的相应域,生命周期,各自的用处,就可以知道在哪种情况用哪种。

————————————————chenchen————————————————
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: