Pasing a reference to my page's Response.Cookies collection

  • Thread starter Thread starter Scott
  • Start date Start date
S

Scott

I would like to have my ASPX page call a function intended to make
changes the the current Page.Response.Cookies. I had thought that to
allow the function to modify the Cookies, I would have top pass the
collection by REFERENCE. But I am getting

"A property or
indexer may not be passed as an out or ref parameter"

Here is a simple example of what I am trying to do...

public class MyPage: System.Web.UI.Page
{
MySetCookieButton_Click(object sender, ....)
{
CookieFuncs.SetCookies(ref this.Page.Response.Cookies)
}
}

public class CookieFuncs
{
public static void SetCookies(ref System.Web.HttpCookieCollection
cookies)
{
cookies.Value = etc.......
}

}
 
If you take a look at the class reference, you will find that the Cookies
property of the HttpResponse class is a getter. As indicated by your error
message, you can't pass this by reference. However, make no mistake about
it - you are not doing a deep copy here. If you remove the ref, then you are
no longer trying to pass a reference to the property, but will start passing
the return value of the property - a reference to the cookies collection
that you want. Check out the SDK for a review of which values are passed by
value and which are passed by reference.
 
Scott said:
I would like to have my ASPX page call a function intended to make
changes the the current Page.Response.Cookies. I had thought that to
allow the function to modify the Cookies, I would have top pass the
collection by REFERENCE. But I am getting

Just pass Response.Cookies. Objects are already references.
 
Back
Top