ASP用MVC做系统 怎么样把数据库中的Name或者ID读到Session中,用到时再怎样读取
展开全部
把数据库中的Name或者ID读到Session中??
一般做登录时才从数据查询登录名密码等信息,验证通过,定义Session["UserID"] = ,这就是标记登录用户,存储登录用户信息。每页面验证是否存在 Session["UserName"] ,不存在,则是视为登录超时或未登录。跳转重新登录。
你想程序预先把数据库里用户信息存到 Session??这是不现实的,用户很多的话,,你得存多少Session,还有时限会超时,,,,
你定义 Session["ID"] ,肯定不对,因为 Session["ID"] 是默认的,系统自动分配的ID,为了区别每个不同的用户,,你想存数据库对应用户ID可以用别的字符表示ID。例如UserID, **User_ID等,,,,
一般做登录时才从数据查询登录名密码等信息,验证通过,定义Session["UserID"] = ,这就是标记登录用户,存储登录用户信息。每页面验证是否存在 Session["UserName"] ,不存在,则是视为登录超时或未登录。跳转重新登录。
你想程序预先把数据库里用户信息存到 Session??这是不现实的,用户很多的话,,你得存多少Session,还有时限会超时,,,,
你定义 Session["ID"] ,肯定不对,因为 Session["ID"] 是默认的,系统自动分配的ID,为了区别每个不同的用户,,你想存数据库对应用户ID可以用别的字符表示ID。例如UserID, **User_ID等,,,,
追问
public ActionResult login(int athleterNo, string passw)
{
var d2 = from d in db.athleterInf where d.athleterNo == athleterNo && d.passw == passw select d;
if (d2.Count() > 0)
{ Session["athleterNo"] = athleterInf.athleterNo;
//就是如果登录成功就保存他的学号,以后就能select..where=Session["athleterNo"] (就自己能修改自己的信息,不仅仅是管理员才能改)用MVC真的不会,好难哦}
追答
这样做是没错的。先判断Session["athleterNo"]是否为空(有时候会超时), 修改用户页面 可以用select..where ID=‘Session["athleterNo"] .toString()’;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询