4

请帮帮我,该值存储在特定用户的会话中,当我从 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")



        }

}

4

1 回答 1

16

我认为您可以使用直接访问会话变量

@HttpContext.Current.Session["Username"].ToString();
于 2014-02-12T09:15:41.983 回答