2024年1月22日发(作者:)
写cookie,取cookie
1、添加cookies(用户信息保存,修改都会依赖cookies)
HttpCookie cookies = new
HttpCookie("Porschev");
cookies["name"] = "Zhong Wei";
cookies["sex"] = "1";
s = utes(20);
(cookies);
2、修改cookies( 在程序中难免会操作,对用户信息的修改,更新数据库后,也会修改cookies,为了修改后的显示)
方法一:
HttpCookie cookies =
s["Porschev"];
cookies["name"] = "wilson Z";
再取cookies中的name,结果:wilson Z;当这样修改cookies时,在更新方法中再取这个名为Porschev的cookies,name的值还为Zhong Wei而非wilson Z,页面显示也不对(己排除页面缓存原因,更新也确实没有成功)
修改方法一:
HttpCookie cookies =
s["Porschev"];
cookies["name"] = "wilson Z";
//加上下面一句
s["Porschev"].Expires =
utes(-1);
再次测式,结果正确,取出name的值为:wilson Z,页面显示也正确。utes(-1)让以前存入过期时间为20min的cookies失效
3、得到cookies
HttpCookie cookies =
s["Porschev"];
string name = cookies["name"]; //通过key取出对应value,多key同理取
4、删除cookies
方法一:(最常用的一个删除cookies方法)
if (s["Porschev"] != null)
{
HttpCookie cookies = new
HttpCookie("Porschev");
s =
s(-1);
(cookies);
}
在项目中测式,删除部分cookies失败,于是换一种方法
foreach (string cookiename in
s)
{
HttpCookie cookies =
s[cookiename];
if (cookies != null)
{
s =
s(-1);
(cookies);
(cookiename);
}
}
方法一只能删除提当前Response中的cookies,不对完成删除掉客端的cookies,用遍历cookies的方式可以
Session的用法
Session简介:简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串。
1、中Session的用法之一:使用Session设定权限
Session的初次使用:
protected void Page_Load(object sender, EventArgs e)
{//这是页面的初始化
if (!Back)
{//判断是否为初次执行
if ((Session["AdminName"], null))
{//判断在Session["AdminName"]是否存在值
ct("", true);
}
else
{//要是存在则记录下这个人的用户名
=
Session["AdminName"].ToString();
}
}
}
2、中Session的用法之二:进行页面传值
在页面之间传递信息有许多方式:
第一:可以使用QueryString
第二:可以使用Session
第三:er
这三种传值方式都有利有弊
首先:QueryString
QueryString是一种非常简单的传值方式,其缺点就是会把要传递的值显示在浏览器的地址栏中,并且此方法不能够传递对象。如果你想传递一个安全性不是那么重要或者是一个简单的数值时。使用此方式最好不过。
下面通过一个小例子来说明一下
1.创建一个Web页面,叫
2.在页面内添加两个TextBox,叫TxtName,TxtEmail,与一个Button,叫Submit
protected void Submit_Click(object sender, EventArgs e)
{
String Url = "?Name=" +
+ "&Email=" + ;
ct(Url);
}
3.再创建一个接收信息页面,叫
4.在页面内添加两个Label,叫LbName,LbEmail
protected void Page_Load(object sender, EventArgs e)
{//使用Request来接收由上个页面传递过来的值,分别显示在页面上
= tring["Name"];
= tring["Email"];
}
再次:使用Session变量
使用Session变量传值是一种最常见的方式了,此种方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值Remove后,才消失
下面举例说明
1.创建一个页面,叫SendSession
2.在页面内添加两个TextBox,叫TxtName,TxtEmail,添加一个Button,叫Submit
protected void Submit_Click(object sender, EventArgs e)
{//可以使用Session的Add方法
Session["Name"] = ;
//可以使用("Name",);
Session["Email"] = ;
//可以使用("Email",);
ct("");
}
3.再创建一个页面,叫
4.在页面内添加两个Label,叫LbName,LbEmail
protected void Page_Load(object sender, EventArgs e)
{
= Session["Name"].ToString();
= Session["Email"].ToString();
Session["Name"].Remove();
Session["Email"].Remove();
//使用结束要清除Session中的值
}
这是使用Session传递数值,此方式耗费服务器的资源,尽量少使用
再次:使用er
这种传递方式有点复杂,但也可以是一种值传递方式
下面举例说明一下:
1.创建一个页面,叫
2.在页面内添加两个TextBox,叫TxtName,TxtEmail,添加一个Button,叫Submit
protected void Submit_Click(object sender, EventArgs e)
{
er("");
}
再添加一个属性
public String Name
{
Get
{
return ;
}
}
public String Email
{
Get
{
return ;
}
}
3.再创建一个页面,叫
4.在页面放两个Label,叫LbName,LbEmail
protected void Page_Load(object sender, EventArgs e)
{
//创建原始窗体的实例SendMessage wf1
//获得实例化的句柄
wf1=(SendMessage)r;
=;
=;
}
Session Cookie 区别
Session是存在服务器端的;而Cookie是存在客户端的
Session不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务器端,比Cookie安全
Session是存在内存中的,浏览器关闭即被删除;Cookie是以文件方式存在的,可以修改其存在时间。


发布评论