在MVC视图中访问一些会话细节

本文关键字:会话 细节 访问 MVC 视图 | 更新日期: 2023-09-27 18:03:39

我在登录控制器中有一个会话,在那里我通过会话将详细信息列表发送到另一个页面。所以我需要采取一个项目的列表显示在mvc视图(实际上我需要显示用户名在我的mvc视图)。

我的控制器

    public ActionResult Login(User usrdtl, string returnUrl) 
        {
//some code here
 List<UserDtl> usrList = newsManager.GetUserdetailsByuId(usrdtl.uId);
                        System.Web.HttpContext.Current.Session["UsrSession"] = usrList ;
        }

这个usrList包含了很多用户的详细信息,我需要在我的视图中显示UserName。

在我看来,它试图把它当作,

<span>@Session["UsrSession"] </span>

但是显示错误

System.Collections.Generic.List ' 1 [NTL.Sys.Entities。UserDtl]

在MVC视图中访问一些会话细节

它实际上不会显示错误。它通过在对象上调用.ToString()来显示对象的表示。

在你的例子中,Session["UsrSession"].ToString()返回System.Collections.Generic.List1[NTL.Sys.Entities.UserDtl]

你的代码实际上没有任何问题,修改它以显示你想要显示的内容。

我假设列表只包含一个项目。要显示用户名,试试:

<span>@((Session["UsrSession"] as List<UserDtl>).First().UserName) </span>

如何显示列表取决于您,如果您想显示用户列表,只需循环它。以上代码只是一个示例