2010-10-28 6 views
1
[WebMethod] 
    public static void SetTheme(string theme) 
    { 
    Guid studentIdentifier = SessionData.LoggedInUser.Identifier; 
    Student student = (Student)ItemFactory.GetItem(studentIdentifier); 
    student.Theme = theme; 
    } 

Et je veux changer le cookie qui est également appelé "thème", à la fin de ce WebMethod. Comment puis-je accomplir cela? Le cookie doit être défini ici, pas via JavaScript. C'est une exigence. MerciComment puis-je modifier une valeur de cookie à partir d'un WebMethod?

Répondre

5

Vous pouvez accéder à HttpContext dans votre webmethod, et à partir de là, accéder à l'objet de réponse.

var response = HttpContext.Current.Response; 

L'objet HttpResponse vous permet d'accéder aux cookies envoyés au navigateur avec la réponse:

if(response.Cookies["theme"]!=null) 
    response.Cookies["theme"].Value = myValue; 

le MSDN documentation fait un bon travail expliquant. Vous pouvez accéder à la demande de cookies aussi, en utilisant HttpContext.Current.Request

+0

Vous avez raison, je devais utiliser: HttpContext.Current.Response.Cookies ["theme"]. Value = theme; Merci. –