在默认情况下,当一个用户第一次从一个ASP.net网站请求页面时,此网站自动向用户的浏览器增加一个cookie。这个cookie名为asp.net_sessionID cookie,它将跟踪用户以后对此网站的访问。
你就用这个asp.net_sessionID去做好了,不需要自己额外在创建session变量了!
通过使用会话状态,可以将任何类型的信息与用户关联。也可以使用一个购物车与用户关联另外,你提的问题似乎有个毛病,session和cookie并不是两个截然不同的概念,其实他们的联系非常紧密,所以你说选用哪个,意义不大!
你就用这个asp.net_sessionID去做好了,不需要自己额外在创建session变量了!
通过使用会话状态,可以将任何类型的信息与用户关联。也可以使用一个购物车与用户关联另外,你提的问题似乎有个毛病,session和cookie并不是两个截然不同的概念,其实他们的联系非常紧密,所以你说选用哪个,意义不大!
或者看看较简单的petshop代码.网上可以找到!
void Page_Load(object sender,System.EventArgs e){
设置子键
Response.Cookies["mcookie"].Values["cookie1"]="values1";
Response.Cookies["mcookie"].Values["cookie2"]="values2";
Response.Cookies["mcookie"].Values["cookie3"]="values3";
}
</script>读出所有键、子键的值
<script runat=server>
void Page_Load(object sender,System.EventArgs e){
HttpCookieCollection Cookies=Request.Cookies; //收集所有cookie对象
string[] rs=Cookies.AllKeys;//返回cookie的主键名。
int n=rs.Length;//取出cookie的个数
//循环读取cookiefor (int j=0;j<n;j++){
Response.Write(rs[j]); //输出cookie的主键
Response.Write("<br>");
getValues(Cookies,n);
Response.Write("<hr>");
}
}void getValues(HttpCookieCollection Cookies,int n){
//HttpCookie cookie;
for(int i=0;i<n;i++){
HttpCookie cookie=Cookies.Get(i);
//string cookie_name=cookie.Name+"<br>";
if (Request.Cookies[cookie.Name].HasKeys){
string[] rsl;
string lrs="",key="";
NameValueCollection cookie_values=Request.Cookies[cookie.Name].Values;
rsl=cookie_values.AllKeys;
for(int k=0;k<rsl.Length;k++){
key=cookie_values.GetKey(k)+" = "; //读取cookie的子键名
lrs=Request.Cookies[cookie.Name].Values[rsl[k]]; //读取cookie子键的值
Response.Write (" |---");
Response.Write(key);
Response.Write(lrs);
Response.Write("<br>");
}
}
else{
Response.Write(cookie.Name);
Response.Write(Request.Cookies[cookie.Name].Values);
}
}
}
</script>
---------------------------------------------------
ELONGSSS(采女孩的小蘑菇)
to stationxp(小磊龙) :能动态生成数组吗?