9

如何从模型访问会话?

我尝试使用:

public IQueryable<EstudentsViewModel> GetEstudentsProjected(decimal? Code)
        {
           .
           .   
           .
           decimal id;
           id = (decimal)Session["Consul"];
           .
           .
           .
        }

出现:当前上下文中不存在名称“会话”

4

1 回答 1

29

如何从模型访问会话?

您总是可以执行以下色情内容:

HttpContext.Current.Session["Consul"]

但是请,哦,我的神圣地球,请答应我永远不会犯下这样的罪行。

模型永远不应该知道会话是什么。会话是一个网络术语,模型应该完全不知道它。您应该从有权访问会话的控制器传递模型所需的信息。

所以检查一下:

public IQueryable<EstudentsViewModel> GetEstudentsProjected(decimal? Code, decimal id)
{
    ...
}

当从控制器调用此方法时,您只需从 Session 传递值,因为控制器可以访问它。

于 2012-06-27T17:17:46.077 回答