快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

尝尝ASP.NET中的小甜饼

     Cookie对于使用过ASP的读者来讲并不生疏,但是我们要讲的是在ASP.NET中的Cookie。我们知道,Cookie存在于用户计算机浏览器中,我们可以使用Cookie来存放一些很简朴的数据。但是,有一点别说我没提醒你:记住这不是个好办法,因为用户可以在任何时间删除Cookie信息,也可以关闭Cookie功能。好了,开场白就这些。
  
  使用ASP.NET我们可以很轻易的对Cookie集合进行操作。它和ASP中的Cookie相同,都是附属于Request和Response对象的。Listing1和2分别给出了如何读和写Cookie的方式。图1和2则是相应的显示。
  Listing 1这个文件的功能是写入cookie
  <%@ language="C#" %>
  <HTML>
   <script language="C#" runat="server">
   void WriteClicked(Object Sender, EventArgs e)
   {
   //创建一个新Cookie,其cookie名来自于NameField.Text
   HttpCookie cookie = new HttpCookie(NameField.Text);
  
   //设定Cookie的值
   cookie.Value = ValueField.Text;
  
   //设定cookie生命为1 minute,TimeSpan()是一个专门设定时间间隔的类,我们定义了其实例tsMinute
   DateTime dtNow = DateTime.Now;
   TimeSpan tsMinute = new TimeSpan(0, 0, 1, 0);
   cookie.Expires = dtNow + tsMinute;
  
   //添加Cookie
   Response.Cookies.Add(cookie);
  
   Response.Write("Cookie written. <br><hr>");
   }
   </script>
   <body>
   <h3>
   Use the button below to write cookies to your browser
   </h3>
   The cookies will expire in one minute.
   <form runat="server" ID="Form1">
   Cookie Name
   <asp:textbox id="NameField" runat="server" />
   <br>
   Cookie Value
   <asp:textbox id="ValueField" runat="server" />
   <br>
   <asp:button text="WriteCookie" onclick="WriteClicked" runat="server" ID="Button1" />
   <br>
   </form>
   <a href="readcookies.aspx">Read the cookies</a>
   </body>
  </HTML>
  图1
   Listing 2 这个文件是为了读取刚才写入的cookie值
  <%@ language="C#" %>
  <script runat="server">
   void ReadClicked(Object Sender, EventArgs e)
   {
   //取得想要的Cookie名
   String strCookieName = NameField.Text;
  
   //取得此Cookie名对应的对象,注重目前的得到的cookie是个对象
   HttpCookie cookie = Request.Cookies[strCookieName];
  
   //检验Cookie是否已经存在
   if (null == cookie) {
   Response.Write("Cookie not found. <br><hr>");
   }
   else {
   //显示Cookie的值
   String strCookieValue = cookie.Value.ToString();
   Response.Write("The " + strCookieName + " cookie contains: <b>"
   + strCookieValue + "</b><br><hr>");
   }
   }
   </script>
  <html>
   <body>
   Use the button below to read a cookie
   <br>
   <form runat="server" ID="Form1">
   Cookie Name
   <asp:textbox id="NameField" runat="server" />
   <asp:button text="ReadCookie" onclick="ReadClicked" runat="server" ID="Button1" />
   </form>
   <a href="writecookies.aspx">Write Cookies</a>
   </body>
  </html>
  
  图2
  为了更好的了解cookie的读写,代码分析如下。
  在Listing 1中,为了将cookie写入用户的浏览器,我们调用了HttpCookie对象,并且建立了一个HttpCookie对象的实例cookie,写入cookie时,我们使用了Response.Cookies对象的方式Add(),最后我们设定了此cookie的生命期限为一分钟。
  在Listing 2中,我们尝试了读取Cookie的方式。很简朴,就是访问了Request.Cookies集合。
  Cookie只能存放string类型的数据,假如想要存放更为复杂的数据类型,那么必须先将其转变为string类型。提示一种办法可以向Cookie写入复杂的数据类型,就是将想存放的复杂数据类型转化为XML串,然后写入Cookie。另外,我们还可以在一个cookie中存储多个值,在此就不多说了,留给有爱好的读者去研究吧。
  点击下载本文示例源代码
  
  


返回类别: 教程
上一教程: 让网站活起来(1)
下一教程: ASP+SQL Server构建网页防火墙

您可以阅读与"尝尝ASP.NET中的小甜饼"相关的教程:
· ASP.NET中的Code Behind技术(4)
· ASP.Net中的MD5加密
· ASP中用好“小甜饼”
· 关于ASP.Net中的时间处理
· ASP.NET中的Code Behind技术(1)
    微笑服务 优质保证 索取样品