mvc中seeeion和cook的用法
public
ActionResult A()
{
Session[
"test"
]=
"123"
;
return
View();
}
public
ActionResult B()
{
string
v=Session[
"test"
].ToString();
return
View();
}
这样创建session是获取不到的,原因是因为创建的session是Controller下的(这里自己可以深入研究一下),而不是System.Web.HttpContext.Current的session。
想要所有的地方都可以获取session的值,应该是如下写法
public
ActionResult A()
{
System.Web.HttpContext.Current.Session[
"test"
]=
"123"
;
return
View();
}
public
ActionResult B()
{
string
v=System.Web.HttpContext.Current.Session[
"test"
].ToString();
return
View();
}
HttpCookie Cookie = null;
Cookie = new HttpCookie("User");
if (Cookie != null)
{
Cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Set(Cookie);
}
HttpCookie cookie = new HttpCookie("MyCook");
DateTime dt = DateTime.Now;
cookie.Expires = dt.AddMinutes(5); //五分钟过期
cookie.Values.Add("userid", "dsc");
cookie.Values.Add("username", HttpUtility.UrlEncode("段世昌")); //注意汉子存储的时候,如果直接存的是汉字,读取的时候值是乱码,因此要先把汉子编码,读取的时候再解码就ok了,字母就不用编码了
Response.AppendCookie(cookie);
-读
if (Request.Cookies["MyCook"] != null)
{
// HttpCookie cookie=Request.Cookies["MyCook"];
//string s=cookie["userid"].ToString();//整行
string c= Request.Cookies["MyCook"]["userid"].ToString();//整行
string c3= HttpUtility.UrlDecode(Request.Cookies["MyCook"]["username"]); //汉字要解码的
}
推荐阅读
-
详解C#中的Async和Await用法
-
Python编程中对super函数的正确理解和用法解析
-
C#中const和readonly的用法比较
-
Android学习之Intent中显示意图和隐式意图的用法实例分析
-
Flask框架中密码的加盐哈希加密和验证功能的用法详解
-
C#中StringBuilder用法以及和String的区别分析
-
SQL中distinct 和 row_number() over() 的区别及用法
-
对比Python中__getattr__和 __getattribute__获取属性的用法
-
SQL中DATEADD和DATEDIFF的用法示例介绍
-
python中单下划线(_)和双下划线(__)的特殊用法