以下是从ajax调用的Web方法,我已经使用firebug验证了脚本确实将两个字符串值传递给我的方法:
public string DealerLogin_Click(string name, string pass)
{
string g="adf";
if (name == "w" && pass == "w")
{
HttpContext.Current.Session["public"] = "pub";
g= "window.location = '/secure/Default.aspx'";
}
return g;
}
我正在传递“w”仅用于测试目的。如果我删除if块,那么我不会从服务器返回错误。我很困惑。
答案 0 :(得分:5)
如果没有看到堆栈跟踪,我猜我会HttpContext.Current
或HttpContext.Current.Session
为null
。
答案 1 :(得分:1)
杰夫是对的,但我想补充一点,在网络服务中使用会话需要启用会话:
[WebMethod(EnableSession=true)]
public string DealerLogin_Click(string name, string pass)
{
string g="";
if (name == "w" && pass == "w")
{
Session["Public"]="pub";
g= "window.location = '/secure/Default.aspx'";
}
return g;
}