如何在模型asp.net mvc中访问会话

时间:2012-06-27 17:06:05

标签: asp.net-mvc-3 session-variables

如何从模型中访问会话?

我尝试使用:

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

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

1 个答案:

答案 0 :(得分:24)

  

如何从模型中访问会话?

您可以随时执行以下色情内容:

HttpContext.Current.Session["Consul"]

但请拜托我的圣地哦,保证我永远不会犯下这样的罪行。

模型永远不应该知道会话是什么。会话是一个Web术语,模型应该完全不可知。您应该从可以访问会话的Controller传递模型所需的信息。

所以请检查一下:

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

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