请教关于Cookies的调用问题!

winsongood 2005-08-20 11:08:57
没想到在。NET里调用COOKIES这么麻烦,花了我大半天的时间还没弄好,只好来请教大家了

我的问题是想用COOKIES来存放客户登录后的信息,如用户名和密码等,然后在首页加以判断是否登录了,现在我是用以下方法来读写COOKIE的:

写入COOKIE:
HttpCookie cookie1=new HttpCookie("mcookies1");
cookie1.Values.Add("userid",uid);
cookie1.Expires=DateTime.Now.AddMinutes(10);
Response.AppendCookie(cookie1);

读出并判断COOKIE是否有值,如果有即通过登录:
if(Request.Cookies["mcookies1"].Values["userid"]!=)
{ //通过后的代码 }

现在我的问题是,如果第一次调用此页面,那么运行上面的读出语句就会出以下错误:

 “未将对象引用设置到对象的实例”

应该就是说这个COOKIE没有值或者没定义好所以不能直接调用吧,不过只要登录过网站,COOKIE里有值的话,就不会出这个错,但如果新客户进站当然不可能去先登录啦,请问这个问题要如何解决?谢啦!
...全文
170 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
生活真美好 2005-09-01
  • 打赏
  • 举报
回复
HttpCookieCollection MyCookieCollection = Request.Cookies;
int cookieCount = MyCookieCollection.Count;
int i;
for(i = 0; i < cookieCount; i++)
{
if (MyCookieCollection[i].Name == "...")
{有你的设置...}
else
{没有你要的设置...}
}
winsongood 2005-08-21
  • 打赏
  • 举报
回复
顶一下先
winsongood 2005-08-20
  • 打赏
  • 举报
回复
还有 bizbuy(也曾风流)说的,我由于是在C#下使用,所以这个 isnothing好像也用不了哦,C#下要如何判断呢?
winsongood 2005-08-20
  • 打赏
  • 举报
回复
谢谢两位啦:)

不过 xyunsh(#烟雨平生#) 你能再说明一个这个函数要如何使用吗?
xyunsh 2005-08-20
  • 打赏
  • 举报
回复
protected const String COOKIE_ORDERINFO = "OrderInfo";
protected const String COOKIE_ORDERID = "OrderID";
protected const String COOKIE_STATUS = "OrderStatus";

protected Int32 OrderID
{
get
{
HttpCookie cookieOrder = Request.Cookies[COOKIE_ORDERINFO];
if( cookieOrder == null )
HasError();

return Int32.Parse( cookieOrder.Values[COOKIE_ORDERID]);
}
}

public void SetOrderCookie( Int32 orderid, StatusCode orderstatus )
{
HttpCookie cookieOrder = Request.Cookies[COOKIE_ORDERINFO];
if( Request[COOKIE_ORDERINFO] == null )
cookieOrder = new HttpCookie(COOKIE_ORDERINFO);
cookieOrder.Values.Clear();
cookieOrder.Values.Add( COOKIE_ORDERID, orderid.ToString() );
cookieOrder.Values.Add( COOKIE_STATUS, orderstatus.ToString() );
Response.AppendCookie( cookieOrder);
}

protected StatusCode OrderStatus
{
get
{
HttpCookie cookieOrder = Request.Cookies[COOKIE_ORDERINFO];
if( cookieOrder == null )
HasError();

return HandleStatusCode.Parse( cookieOrder.Values[COOKIE_STATUS]);
}
}
bizbuy 2005-08-20
  • 打赏
  • 举报
回复
if not isnothing(Request.Cookies("mcookies1")) then
end if

先要判断,如果不判断,当cookie是空的时候,操作它就出错了
bizbuy 2005-08-20
  • 打赏
  • 举报
回复
if not Request.Cookies["mcookies1"].isnothing

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧