2012-06-13 57 views
0

當我運行該項目,我得到這條線突出了一個錯誤:錯誤從用戶的cookie中檢索信息

string cartID = context.Request.Cookies["Cinemax_CartID"].Value; 

的信息如下:

Object reference not set to an instance of an object. 

感謝您的任何建議!

+3

這意味着,cookie不存在。你有沒有設置它,或者它是在第一個地方?你應該非常防守地接近cookie。 – DarthVader

+0

不,我沒有設置它。我剛剛學習餅乾。我從一本書中拿出了這本書,但他們似乎並沒有專門設定它。我很困惑。 –

+0

不要混淆。首先設置cookie,然後獲取它。你也會看到如何防禦cookies。 – DarthVader

回答

1

問題是您必須檢查cookie是否存在,如果存在,那麼您可以以安全的方式讀取它的值,否則應該初始化cookie值或者您會得到空引用異常。

這實際上是從ViewStateSessionApplicationCookies等,基本上你可以不依賴於外部值,你應該檢查讀取項目時,如果它確實存在

試試你應該採用同樣的模式像這樣:

if(context.Request.Cookies["Cinemax_CartID"] == null) 
{ 
    // initialize the cookie 
    context.Request.Cookies["Cinemax_CartID"].Value = initial_value; 
} 
myCookieValue = context.Request.Cookies["Cinemax_CartID"].Value;