在web方法中创建cookie

时间:2012-09-16 07:41:57

标签: c# jquery asp.net c#-4.0 c#-3.0

我有一个web方法,通过jquery-ajax方法检查数据库中的用户我想如果客户端存在于db我在客户端使用用户名创建一个cookie,但我知道staticmethod中没有响应.how can我在一个用jquery ajax调用的方法中创建一个cookie,并且必须是静态的。我的代码不起作用cuz响应是不可访问的

 if (olduser.Trim() == username.Trim() && password.Trim()==oldpass.Trim())
        { retval =olduser;

        HttpContext context = HttpContext.Current;
        context.Session[retval.ToString()] = retval.ToString();
        HttpCookie cook = new HttpCookie("userath");
        cook["submituser"] = "undifiend";
        Response.Cookies.Add(cook);

       }

3 个答案:

答案 0 :(得分:4)

您可以像访问当前HtppContext中的Session对象一样访问Response对象。

您的代码应该像这样结束:

context.Response.Cookies.Add(cook);

答案 1 :(得分:0)

您可以将HttpContext传递给AJax调用首次进入的Web方法的静态方法。

编辑:或者,不要使用静态方法。无论哪种方式,HttpContext都可以从Ajax调用通过[WebMethod]注释看到的实例化Web方法中获得。

答案 2 :(得分:0)

  1. 首先进行ajax调用。你可以阅读这篇精彩的教程5 Ways to Make Ajax Calls with jQuery
  2. 第二次让服务器响应。例如,如果回调为'1',则表示您应该设置cookie,如果它是'0'则不应该。
  3. 最后,您可以使用此jquery插件轻松设置Cookie:jquery.cookie