471,086 Members | 1,321 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,086 software developers and data experts.

how to make cookies into an array?

Hi,

I need several cookies depending of an variable (x), so i defined a
HttpCookie() as an array.
My problems:
1)I get the error: Object reference not set to an instance of an object.
2)My second question is: how to request those cookies, because there is no
name?

Thanks
André
I did:
x=5
Dim cok(x) As New HttpCookie 'can't give a name to the cookie
.....

for k=1 to x
cok(k).Value = "cookie" & k
Response.Cookies.Add(cok(k))
next

-----------------------------------
recovering the cookies?
for i=1 to x
cok(i) = Request.Cookies("??")
next

Nov 29 '06 #1
7 2748
If you are using VB2005, you can switch to one of the Generic collections
that includes a key so that you can look up the cookie by name.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)

Add new cookies to the dictionary this way:

allCookies.Add(cookieName, theCookieItself)

Access the cookie this way:

theRetrievedCookie = allCookies(cookieName)

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
Hi,

I need several cookies depending of an variable (x), so i defined a
HttpCookie() as an array.
My problems:
1)I get the error: Object reference not set to an instance of an
object.
2)My second question is: how to request those cookies, because there
is no
name?
Thanks
André
I did:
x=5
Dim cok(x) As New HttpCookie 'can't give a name to the cookie
....
for k=1 to x
cok(k).Value = "cookie" & k
Response.Cookies.Add(cok(k))
next
-----------------------------------
recovering the cookies?
for i=1 to x
cok(i) = Request.Cookies("??")
next

Nov 29 '06 #2
Hi,

thanks for replying ...

I tried this (it must be a loop because i never don't know in advance how
many cookies i need)
But i get the error: "value of type string cannot be converted to
system.web.httpcookie"
How can i give the value of the cookie?
Thanks

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
For i = 1 To 5
allCookies.Add(cc(i), "test" & i)
Next


"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comcas t.net...
If you are using VB2005, you can switch to one of the Generic collections
that includes a key so that you can look up the cookie by name.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)

Add new cookies to the dictionary this way:

allCookies.Add(cookieName, theCookieItself)

Access the cookie this way:

theRetrievedCookie = allCookies(cookieName)

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
>Hi,

I need several cookies depending of an variable (x), so i defined a
HttpCookie() as an array.
My problems:
1)I get the error: Object reference not set to an instance of an
object.
2)My second question is: how to request those cookies, because there
is no
name?
Thanks
André
I did:
x=5
Dim cok(x) As New HttpCookie 'can't give a name to the cookie
....
for k=1 to x
cok(k).Value = "cookie" & k
Response.Cookies.Add(cok(k))
next
-----------------------------------
recovering the cookies?
for i=1 to x
cok(i) = Request.Cookies("??")
next


Nov 29 '06 #3
But you are trying to convert "test1" to a cookie. That is a string, not
a cookie. You must specifically create an instance of HttpCookie, fill in
its constructor or fields as needed, and then store it. I haven't used that
object myself, but the code would be something like this.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim oneCookie As HttpCookie
Dim i As Integer

For counter = 1 To 5
oneCookie = New HttpCookie
' !!! Fill in all of oneCookie's fields here, then...
allCookies.Add("test" & counter, oneCookie)
Next counter

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
Hi,

thanks for replying ...

I tried this (it must be a loop because i never don't know in advance
how
many cookies i need)
But i get the error: "value of type string cannot be converted to
system.web.httpcookie"
How can i give the value of the cookie?
Thanks
Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
For i = 1 To 5
allCookies.Add(cc(i), "test" & i)
Next
"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comcas t.net...
>If you are using VB2005, you can switch to one of the Generic
collections that includes a key so that you can look up the cookie by
name.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)

Add new cookies to the dictionary this way:

allCookies.Add(cookieName, theCookieItself)

Access the cookie this way:

theRetrievedCookie = allCookies(cookieName)

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
>>Hi,

I need several cookies depending of an variable (x), so i defined a
HttpCookie() as an array.
My problems:
1)I get the error: Object reference not set to an instance of an
object.
2)My second question is: how to request those cookies, because there
is no
name?
Thanks
André
I did:
x=5
Dim cok(x) As New HttpCookie 'can't give a name to the cookie
....
for k=1 to x
cok(k).Value = "cookie" & k
Response.Cookies.Add(cok(k))
next
-----------------------------------
recovering the cookies?
for i=1 to x
cok(i) = Request.Cookies("??")
next

Nov 29 '06 #4
Ok, thanks

"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comcas t.net...
But you are trying to convert "test1" to a cookie. That is a string, not a
cookie. You must specifically create an instance of HttpCookie, fill in
its constructor or fields as needed, and then store it. I haven't used
that object myself, but the code would be something like this.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim oneCookie As HttpCookie
Dim i As Integer

For counter = 1 To 5
oneCookie = New HttpCookie
' !!! Fill in all of oneCookie's fields here, then...
allCookies.Add("test" & counter, oneCookie)
Next counter

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
>Hi,

thanks for replying ...

I tried this (it must be a loop because i never don't know in advance
how
many cookies i need)
But i get the error: "value of type string cannot be converted to
system.web.httpcookie"
How can i give the value of the cookie?
Thanks
Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
For i = 1 To 5
allCookies.Add(cc(i), "test" & i)
Next
"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comca st.net...
>>If you are using VB2005, you can switch to one of the Generic
collections that includes a key so that you can look up the cookie by
name.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)

Add new cookies to the dictionary this way:

allCookies.Add(cookieName, theCookieItself)

Access the cookie this way:

theRetrievedCookie = allCookies(cookieName)

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
Hi,

I need several cookies depending of an variable (x), so i defined a
HttpCookie() as an array.
My problems:
1)I get the error: Object reference not set to an instance of an
object.
2)My second question is: how to request those cookies, because there
is no
name?
Thanks
André
I did:
x=5
Dim cok(x) As New HttpCookie 'can't give a name to the cookie
....
for k=1 to x
cok(k).Value = "cookie" & k
Response.Cookies.Add(cok(k))
next
-----------------------------------
recovering the cookies?
for i=1 to x
cok(i) = Request.Cookies("??")
next


Nov 29 '06 #5
Tim, don't become angry (i'm learning), but it still doesn't work ...

If i do what you wrote here, i get an error with the line:
oneCookie = New HttpCookie

the error is: "overload resolution failed because no accessible 'new'
accepts this number of arguments"

so i tried this (and the error is gone): oneCookie = New HttpCookie("ok")
the whole code is:
Dim allCookies As New Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim oneCookie As HttpCookie
For i = 1 To 5
oneCookie = New HttpCookie("ok")
oneCookie.Value = i
allCookies.Add("test" & i, oneCookie)
Next

But now, how can i retrieve the cookies? I did:

Dim allCookies As New Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
Dim retCookie As HttpCookie
For i = 1 To 5
retCookie = allCookies("test" & i)
cc(i) = retCookie.Value
Response.Write(cc(i) & " ")
Next

And the error is now: "The given key was not present in the dictionary"
Can you help me a last time? Thanks


"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comcas t.net...
But you are trying to convert "test1" to a cookie. That is a string, not a
cookie. You must specifically create an instance of HttpCookie, fill in
its constructor or fields as needed, and then store it. I haven't used
that object myself, but the code would be something like this.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim oneCookie As HttpCookie
Dim i As Integer

For counter = 1 To 5
oneCookie = New HttpCookie
' !!! Fill in all of oneCookie's fields here, then...
allCookies.Add("test" & counter, oneCookie)
Next counter

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
>Hi,

thanks for replying ...

I tried this (it must be a loop because i never don't know in advance
how
many cookies i need)
But i get the error: "value of type string cannot be converted to
system.web.httpcookie"
How can i give the value of the cookie?
Thanks
Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
For i = 1 To 5
allCookies.Add(cc(i), "test" & i)
Next
"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comca st.net...
>>If you are using VB2005, you can switch to one of the Generic
collections that includes a key so that you can look up the cookie by
name.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)

Add new cookies to the dictionary this way:

allCookies.Add(cookieName, theCookieItself)

Access the cookie this way:

theRetrievedCookie = allCookies(cookieName)

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
Hi,

I need several cookies depending of an variable (x), so i defined a
HttpCookie() as an array.
My problems:
1)I get the error: Object reference not set to an instance of an
object.
2)My second question is: how to request those cookies, because there
is no
name?
Thanks
André
I did:
x=5
Dim cok(x) As New HttpCookie 'can't give a name to the cookie
....
for k=1 to x
cok(k).Value = "cookie" & k
Response.Cookies.Add(cok(k))
next
-----------------------------------
recovering the cookies?
for i=1 to x
cok(i) = Request.Cookies("??")
next


Nov 29 '06 #6
Since I'm not sure of what you are doing, I'm not fully sure of the answer
to give you. Cookies are normally only used in the context of a web page,
and ASP.NET exposes two collections of cookies, one through the Request object
and one through the Response object. I'm not sure why you want to create
your own disconnected set of cookies.

I would confirm that you have read up on the HttpCookie object and its related
HttpCookieCollection object (instead of Generic.Dictionary). HttpCookie has
its own name, so it seems a collection-specified name isn't really necessary.

Maybe if you could explain your purpose, it would make the problem easier
to diagnose.

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
Tim, don't become angry (i'm learning), but it still doesn't work ...

If i do what you wrote here, i get an error with the line: oneCookie =
New HttpCookie

the error is: "overload resolution failed because no accessible 'new'
accepts this number of arguments"

so i tried this (and the error is gone): oneCookie = New
HttpCookie("ok")
the whole code is:
Dim allCookies As New Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim oneCookie As HttpCookie
For i = 1 To 5
oneCookie = New HttpCookie("ok")
oneCookie.Value = i
allCookies.Add("test" & i, oneCookie)
Next
But now, how can i retrieve the cookies? I did:

Dim allCookies As New Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
Dim retCookie As HttpCookie
For i = 1 To 5
retCookie = allCookies("test" & i)
cc(i) = retCookie.Value
Response.Write(cc(i) & " ")
Next
And the error is now: "The given key was not present in the
dictionary" Can you help me a last time? Thanks

"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comcas t.net...
>But you are trying to convert "test1" to a cookie. That is a string,
not a cookie. You must specifically create an instance of HttpCookie,
fill in its constructor or fields as needed, and then store it. I
haven't used that object myself, but the code would be something like
this.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim oneCookie As HttpCookie
Dim i As Integer
For counter = 1 To 5
oneCookie = New HttpCookie
' !!! Fill in all of oneCookie's fields here, then...
allCookies.Add("test" & counter, oneCookie)
Next counter
-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
>>Hi,

thanks for replying ...

I tried this (it must be a loop because i never don't know in
advance
how
many cookies i need)
But i get the error: "value of type string cannot be converted to
system.web.httpcookie"
How can i give the value of the cookie?
Thanks
Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
For i = 1 To 5
allCookies.Add(cc(i), "test" & i)
Next
"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comc ast.net...
If you are using VB2005, you can switch to one of the Generic
collections that includes a key so that you can look up the cookie
by name.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)

Add new cookies to the dictionary this way:

allCookies.Add(cookieName, theCookieItself)

Access the cookie this way:

theRetrievedCookie = allCookies(cookieName)

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
Hi,
>
I need several cookies depending of an variable (x), so i defined
a
HttpCookie() as an array.
My problems:
1)I get the error: Object reference not set to an instance of an
object.
2)My second question is: how to request those cookies, because
there
is no
name?
Thanks
André
I did:
x=5
Dim cok(x) As New HttpCookie 'can't give a name to the
cookie
....
for k=1 to x
cok(k).Value = "cookie" & k
Response.Cookies.Add(cok(k))
next
-----------------------------------
recovering the cookies?
for i=1 to x
cok(i) = Request.Cookies("??")
next

Nov 30 '06 #7
Tim, it's ok, i think i understand it now ...
"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comcas t.net...
Since I'm not sure of what you are doing, I'm not fully sure of the answer
to give you. Cookies are normally only used in the context of a web page,
and ASP.NET exposes two collections of cookies, one through the Request
object and one through the Response object. I'm not sure why you want to
create your own disconnected set of cookies.

I would confirm that you have read up on the HttpCookie object and its
related HttpCookieCollection object (instead of Generic.Dictionary).
HttpCookie has its own name, so it seems a collection-specified name isn't
really necessary.

Maybe if you could explain your purpose, it would make the problem easier
to diagnose.

-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
>Tim, don't become angry (i'm learning), but it still doesn't work ...

If i do what you wrote here, i get an error with the line: oneCookie =
New HttpCookie

the error is: "overload resolution failed because no accessible 'new'
accepts this number of arguments"

so i tried this (and the error is gone): oneCookie = New
HttpCookie("ok")
the whole code is:
Dim allCookies As New Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim oneCookie As HttpCookie
For i = 1 To 5
oneCookie = New HttpCookie("ok")
oneCookie.Value = i
allCookies.Add("test" & i, oneCookie)
Next
But now, how can i retrieve the cookies? I did:

Dim allCookies As New Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
Dim retCookie As HttpCookie
For i = 1 To 5
retCookie = allCookies("test" & i)
cc(i) = retCookie.Value
Response.Write(cc(i) & " ")
Next
And the error is now: "The given key was not present in the
dictionary" Can you help me a last time? Thanks

"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.comca st.net...
>>But you are trying to convert "test1" to a cookie. That is a string,
not a cookie. You must specifically create an instance of HttpCookie,
fill in its constructor or fields as needed, and then store it. I
haven't used that object myself, but the code would be something like
this.

Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim oneCookie As HttpCookie
Dim i As Integer
For counter = 1 To 5
oneCookie = New HttpCookie
' !!! Fill in all of oneCookie's fields here, then...
allCookies.Add("test" & counter, oneCookie)
Next counter
-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
Hi,

thanks for replying ...

I tried this (it must be a loop because i never don't know in
advance
how
many cookies i need)
But i get the error: "value of type string cannot be converted to
system.web.httpcookie"
How can i give the value of the cookie?
Thanks
Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
Dim i As Integer
Dim cc(5) As String
For i = 1 To 5
allCookies.Add(cc(i), "test" & i)
Next
"Tim Patrick" <in*****@invalid.com.invalidschreef in bericht
news:e3*************************@newsgroups.com cast.net...
If you are using VB2005, you can switch to one of the Generic
collections that includes a key so that you can look up the cookie
by name.
>
Dim allCookies As Generic.Dictionary(Of String, HttpCookie)
>
Add new cookies to the dictionary this way:
>
allCookies.Add(cookieName, theCookieItself)
>
Access the cookie this way:
>
theRetrievedCookie = allCookies(cookieName)
>
-----
Tim Patrick - www.timaki.com
Start-to-Finish Visual Basic 2005
>Hi,
>>
>I need several cookies depending of an variable (x), so i defined
>a
>HttpCookie() as an array.
>My problems:
>1)I get the error: Object reference not set to an instance of an
>object.
>2)My second question is: how to request those cookies, because
>there
>is no
>name?
>Thanks
>André
>I did:
>x=5
>Dim cok(x) As New HttpCookie 'can't give a name to the
>cookie
>....
>for k=1 to x
>cok(k).Value = "cookie" & k
>Response.Cookies.Add(cok(k))
>next
>-----------------------------------
>recovering the cookies?
>for i=1 to x
>cok(i) = Request.Cookies("??")
>next


Nov 30 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by StinkFinger | last post: by
2 posts views Thread by Citoyen du Monde | last post: by
2 posts views Thread by Chris... | last post: by
6 posts views Thread by Wanda | last post: by
4 posts views Thread by brett | last post: by
4 posts views Thread by surf_doggie | last post: by
3 posts views Thread by Simon Dean | last post: by
1 post views Thread by pedalpete | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.