2010-04-06 133 views
0

朋友,當AddModelError丟失會話

我不知道爲什麼,但每次我添加一個ModelError我的會話丟失。有人能告訴我如何解決/修復它嗎?

Session[CtSessionName + SessionId] = _ListaAcaoMenuInfo; 
AcaoMenuInfoExt _SelecionadoAcaoMenuExt = 
    _ListaAcaoMenuInfo.Where(p => p.Id_acao == id) 
         .FirstOrDefault(); 

if (_SelecionadoAcaoMenuExt.Is_AcaoInicial) 
{ 
    ModelState.AddModelError(String.Empty, 
          "Error! Try Again, and Again, And Again!"); 
} 
+0

恐怕您提供的代碼段與問題無關。 '失去的會話'是什麼意思?你找不到以前存儲在裏面的值?如果這是'CtSessionName'和'SessionId'變量來自何處?當您嘗試從會話中讀取時,它們的值是否相同? – 2010-04-06 12:12:19

+0

朋友,我查了很多次,但他們總是有相同的價值。 – 2010-04-06 12:26:20

回答

0

對不起朋友,但那是不可能的。 AddModelError的代碼路徑永遠不會觸及Session。

當你在訪問會話後AddModelError消失了嗎?或者你正在輸出這些值,但它們沒有顯示在屏幕上?

+0

我的朋友,這很尷尬,但我發現了這個問題。 問題是將對象發送到頁面。會話的隨機值已正確獲得,但沒有正確發送。 – 2010-04-06 12:41:07

+0

你知道我該如何解決這個問題嗎? – 2010-04-06 12:42:08

+0

@ Ph.E:關閉你自己回答的問題的最好方法是發表一個答案,說明你如何解決問題,然後將其標記爲答案。 – 2011-04-21 03:40:33