MVC中Session的使用和傳遞

來源:互聯網
上載者:User

標籤:傳遞   usr   dex   blog   ext   eva   login   res   att   

1.登入時在controller中記錄session,代碼如下:

 public ActionResult Login(UserLoginViewModel uViewModel)        {            if (ModelState.IsValid)            {                var user = db.ADUsers.SingleOrDefault(t => t.usrName == uViewModel.usrName && t.usrPassword == uViewModel.usrPassword);                if (user != null)                {                    FormsAuthentication.SetAuthCookie(uViewModel.usrName, false);//將使用者名稱放入Cookie中                    System.Web.HttpContext.Current.Session["usrName"] = uViewModel.usrName; //將使用者名稱放入session中                    return RedirectToAction("Index","Home");                }                else                {                    ModelState.AddModelError("usrName", "使用者名稱不存在!");                }            }            return View(uViewModel);        }

 

2.在View中,可以根據session進行判斷是否正常登入

@if (Session["usrName"] != null){    using (Html.BeginForm("LogOff", "ADUsers", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))    {        @Html.AntiForgeryToken()        <ul class="nav navbar-nav navbar-right">            <li>                @Html.ActionLink("你好," + Session["usrName"] + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })            </li>            <li><a href="javascript:document.getElementById(‘logoutForm‘).submit()">登出</a></li>        </ul>    }}else{    <ul class="nav navbar-nav navbar-right">        <li>@Html.ActionLink("登入", "Login", "ADUsers", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>        <li>cookies:@Session["usrName"];</li>    </ul>

 

3.登出時,記得將session清空

        public ActionResult LogOff()        {            FormsAuthentication.SignOut();            System.Web.HttpContext.Current.Session["usrName"] = null;            return RedirectToAction("Login");        }

 

MVC中Session的使用和傳遞

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.