2011-01-19 77 views
0

以下是從阿賈克斯稱爲Web方法,我與螢火腳本確實傳遞了兩個字符串值,以我的方法驗證:幫助,NullReference例外,在C#

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塊,那麼我不會從服務器返回錯誤。我很困惑。

+1

您可以發佈異常的堆棧跟蹤,請 - 目前`。 Current或`.Session`是唯一的候選人 – 2011-01-19 22:59:32

+0

您可以驗證ASP.Net是否在調用此Web方法時分配了其會話ID? – TheGeekYouNeed 2011-01-19 23:07:03

回答

5

沒有看到堆棧跟蹤,我猜HttpContext.CurrentHttpContext.Current.Sessionnull

1

傑夫是正確的,但我想補充一點,Web服務中使用會話要求會議「接通」:

[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; 
}