日期:2014-05-19  浏览次数:20914 次

如何把ID写入Cookie中
sql2000数据库中有一个表里面有int   型的ID   还有   userName     userPwd
做一个登录页面。。
验证成功后我想把ID     写入到Cookie中   具体如何写入????
谢谢了!

------解决方案--------------------
Response.Cookies[ "ID = "你的ID值 "
Response.Cookies[ "ID "].Expires = DateTime.Now.AddDays(14);
------解决方案--------------------
HttpCookie cookie = new HttpCookie( "info ");
cookie[ "userId "].Value = sdr.GetInt32(0);
cookie.Expires = DateTime.Now.AddDays(999);
Response.AppendCookie(cookie);


可以写入,但如果你的IE设置不允许这类Cookie你就需要判断一下。我自己写了一个cookie的help类可以判断是否支持cookie 不过.net2.0好像提供了是否支持cookie的属性,我记不清在那个类里了。

我的cookieHelper类
using System;
using System.Web;
using System.Web.UI;

using EnviromentAndConst;
using UnifiedUtility.BasicMethod;


namespace UnifiedUtility.WebPage
{
#region cookie discuss
/***********----------------------------什么是 Cookie-------------------------*************
*
* Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。
* 用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。

*Cookie 是与 Web 站点而不是与具体页面关联的,所以无论用户请求浏览站点中的哪个页面,
* 浏览器和服务器都将交换 www.contoso.com 的 Cookie 信息。用户访问其他站点时,每个
* 站点都可能会向用户浏览器发送一个 Cookie,而浏览器会将所有这些 Cookie 分别保存。

*最根本的用途是 Cookie 能够帮助 Web 站点保存有关访问者的信息。更概括地说,Cookie
*是一种保持 Web 应用程序连续性(即执行“状态管理”)的方法。

* **********----------------------------Cookie 的限制---------------------------***********
*
* 大多数浏览器支持最多可达 4096 字节的 Cookie,如果要将为数不多的几个值保存到用户计算机上,
* 这一空间已经足够大,但您不能用一个 Cookie 来保存数据集或其他大量数据。
*
* 大多数浏览器只允许每个站点保存 20 个 Cookie。如果试图保存更多的 Cookie,则最先保存的
* Cookie 就会被删除。还有些浏览器会对来自所有站点的 Cookie 总数作出限制,这个限制通常为 300 个。
*
* 您最可能遇到的 Cookie 限制是:用户可以设置自己的浏览器,拒绝接受 Cookie。您很难解决这个问题,
* 除非完全不使用 Cookie 而是通过其他机制来保存用户相关信息。
*
*
* */
#endregion

public static class CookieHelp
{
public static void WriteCookie(HttpResponse response, HttpCookie cookie)
{
response.AppendCookie(cookie);
}

public static HttpCookie ReadCookie(HttpRequest request, string cookieName)
{
return request.Cookies[cookieName];
}

public static void CheckCookieAccredit(Page page)
{
if (!page.IsPostBack)
{
if (page.Request.QueryString[QueryStringConst.CookieAccredit] == null)
{
HttpCookie cookie = new HttpCookie(CookieConst.CookieAccreditCheck);
cookie.Value = string.Empty;
cookie.Expires = DateTime.Now.AddMinutes(1);
page.Response.AppendCookie(cookie);

string url = page.Request.RawUrl;
if (url.IndexOf( "? ") != -1)
{
url = TextHandler.BuildString(url, ", ", QueryStringConst.CookieAccredit, "=test ");
}
else
{
url = TextHandler.BuildString(url, "? ", QueryStringConst.CookieAccredit, "=test ");
}
page.Response.Redirect(url);
}
else
{
if (page.Request.Cookies[CookieConst.CookieAccreditCheck] == nul