我在登录控制器中有一个会话,我通过会话将详细信息列表发送到另一个页面。所以我需要在mvc视图中显示列表中的一个项目(我需要在我的mvc中显示UserName视图)。
我的控制器
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]
我怎么能得到这个?
答案 0 :(得分:3)
它实际上没有显示错误。它通过在对象上调用.ToString()
来显示对象表示。
在您的情况下,Session["UsrSession"].ToString()
会返回System.Collections.Generic.List1[NTL.Sys.Entities.UserDtl]
。
您的代码实际上没有任何问题,请修改它以准确显示您想要显示的内容。
我假设该列表恰好包含1个项目。要显示UserName,请尝试:
<span>@((Session["UsrSession"] as List<UserDtl>).First().UserName) </span>
如何显示列表取决于您,如果要显示用户列表,只需循环显示。上面的代码只是一个例子。