2010-04-06 99 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