我通过 Ajax 以 Json 格式在 .aspx 页面中将 userName 和 Pass 传递给 webmethod,现在我想要验证用户并将用户重定向到同一页面并使用 LogedIn 状态更新 LoginView;
我该怎么做?这是我的网络方法
[WebMethod]
// [ [System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet=false)]
public static void login(object myData)
{
JavaScriptSerializer js = new JavaScriptSerializer();
List<nameVal> myfrm = js.Deserialize<List<nameVal>>(myData.ToString());
// MembershipUser u = Membership.GetUser(myfrm.SingleOrDefault(rs=>rs.name=="userName").value);
if ( Membership.ValidateUser(myfrm[0].value,myfrm[1].value))
{
FormsAuthentication.Authenticate(myfrm[0].value, myfrm[1].value);
//FormsAuthentication.RedirectFromLoginPage(myfrm[0].value, false);
FormsAuthenticationTicket tkt;
string cookiestr;
HttpCookie ck;
tkt = new FormsAuthenticationTicket(1, myfrm[0].value, DateTime.Now,
DateTime.Now.AddMinutes(30), true, "my custom data");
cookiestr = FormsAuthentication.Encrypt(tkt);
ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
ck.Path = FormsAuthentication.FormsCookiePath;
// ******* now i must somthing like this: --> Response.Cookies.Add(ck);
// but im in static method don't have respons request objects
// i want respons in json form and proccess the json
// return "Success";
}
else
{
//return "Faild";
}
}
所以坦克