在頁面中獲取到用戶是否登錄,就是獲取頁面中的Session。
簡單說一下Session,Session是一種記錄客戶狀態的機制,Cookie是保存在客戶端瀏覽器中,而Session,是保存在服務器上的。客戶端瀏覽器訪問服務器的時候,服務器把客戶端以某種形式記錄在服務器上,這,就是Session。
那究竟該如何在頁面上獲取Session值呢?方法很簡單,這裏涉及到一個MVC Razor語法,是一個將控制器語句嵌套在頁面中的語法。我就不多介紹了,講重點
<div style="display:none;" id="divUserID">@Session["UserID"]</div>
在頁面中寫一個隱藏的div,用@符號把Session嵌套在div中,再用JS獲取到div的值(就是獲取其中Session)。
$(function () {
var UserID = $("#divUserID").text();//獲取Session中的用戶ID
if (UserID != 0 || UserID != "") {
alert("已獲取到iD");
$("#mianfei").attr({ style: "display:none;" });
} else {
alert("沒有ID");
$("#myAccount").attr({ style: "display:none;" });
}
});
接下來就來到頁面中來看看是否獲取到Session值。
這是沒有登錄前的。彈出了沒有獲取到ID的提示框
登錄之後。
登錄之後,頁面中就獲取到了登錄用戶ID,這就說明了我這個獲取Session裏的用戶ID方法是成功的。
獲取到用戶ID之後,你還變換一些HTML的樣式,來更直接的提醒用戶登錄了。
比如說在屏幕側端顯示的這種用戶狀態欄。