首先,我们需要做的是什么? 我们成功登录之后,跳转到主界面,然后主界面的登录按钮变成头像啥的。下一次打开网页就要判断有没有登录过,有cookie就不需要登录,直接显示头像 1.成功登录后,客户端请求服务器 2.把登陆信息传入到服务器 3.服务器有了这个cookie,保存到cookie集合里面,然后反馈给客户端ok了
后台Controller代码如下: public ActionResult Login() { HttpCookie cookie = new HttpCookie("userid", "12312");
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
return Redirect("/Home/Catagory"); }
Controller
前台Html代码如下: @{ var cookie = System.Web.HttpContext.Current.Request.Cookies.Get("userid"); if (cookie == null || string.IsNullOrWhiteSpace(cookie.Value)) { <a href="#">登录</a> } else { <p> <span>@(cookie.Value)</span> </p> } }
Html 就比如,我(客户端)拿着身份证(信息)乘着火车(http请求),把身份证交给你(服务器),你拿到身份证之后,然后你给我一张纸条(cookie),说明你已经拿到身份证了,我拿着这个纸条回去,我每次跟别人说我把身份证拿给你了,别人不信,我拿出这个纸条,别人就明白了,万一哪一天我把这个纸条弄丢了,别人再问起,我就没办法证明了,就要重新来一次。 过程大概就是这样
|