请帮助我,值是存储在特定用户的会话中,当我从cshtml检索会话值时,它显示PC用户名而不是数据库中存在的特定用户名。请建议会话代码以显示特定的用户名。我在Cotrtoller中使用此代码。
{public ActionResult LogIn(Models.Tbl_Users user)
{
Session["Username"] = user.UserName;
var sessionval = Session["Username"].ToString();
if (!ModelState.IsValid)
{
if (Isvalid(user.UserName, user.UserPassword))
{
FormsAuthentication.SetAuthCookie(user.UserName, false);
string status = Session["Username"].ToString();
if (status == "admin")
{
// return RedirectToAction("adminpage", "UserLogIn");
return RedirectToAction("adminpage", "UserLogin");
}
else
{
return RedirectToAction("userpage", "UserLogIn");
} }
这是我的cshtml代码:
{
@Html.AntiForgeryToken()
@if (Request.IsAuthenticated)
{
<strong>@Html.Encode(User.Identity.Name)</strong>
@Html.ActionLink("Log Out","LogOut","UserLogIn")
}
}
答案 0 :(得分:13)
我认为您可以使用
直接访问会话变量@HttpContext.Current.Session["Username"].ToString();