JQuery获取登录时长
开发工具与关键技术:Visual Studio 2017 JQuery MVC
撰写时间:2019-04-08
今天在这里给大家分享的功能是JQuery获取登录时长
效果:
Html代码:
MVC代码:
public ActionResult CheckLogin(PW_User pwUser)//验证登录
{
string strMsg = "failed";
string strUserNuber = Request.Form["UserNuber"];//用户名
string strPassword = Request.Form["Password"];//密码
try
{
var dbUser = (from tbUser in myModels.PW_User
where tbUser.UserNuber.ToString() == strUserNuber.Trim()
select new
{
tbUser.UserID,
tbUser.UserNuber,
tbUser.Password
}).Single();
string AsePassword = Common.AESEncryptHelper.Encrypt(strPassword);
if (dbUser.Password.Equals(strPassword.Trim()))
{
string strTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
//向页面传输数据
Session["UserID"] = dbUser.UserID;
Session["LoginTime"] = strTime;
strMsg = "success";
}
else
{
strMsg = "密码错误,请重新输入!";
}
}
catch (Exception)
{
strMsg = "输入的用户不正确,请重新输入!";
}
return Json(strMsg, JsonRequestBehavior.AllowGet);
}
public ActionResult GetLoginTime()//获取登陆时长
{
try
{
//获取Session中的时间
string LoginTime = Session["LoginTime"].ToString();
//转为datetime
DateTime dateTimeLogin = Convert.ToDateTime(LoginTime);
DateTime dateTimeNow = DateTime.Now;//获取当前时间
TimeSpan time = dateTimeNow - dateTimeLogin;//求时间差
double minute = time.TotalMinutes;//时间获取分钟
int intMinute = Convert.ToInt32(minute);
return Json(intMinute, JsonRequestBehavior.AllowGet);
}
catch (Exception)
{
//无法获取session 重定向到登录界面 重新登录
return RedirectToAction("Login");
}
}
JQuery代码:
//在线时长
function OnlineTime() {
$.ajax({
type: "post",
url: "/Main/GetLoginTime",
dataType: "json",
success: function (data) {
$("#OnlineTime").text("已在线: " + data + "分钟");
}
});
setTimeout("OnlineTime()", 60000);//1分钟刷新;
}