2017-07-31 86 views
-1

我们正在开发一个mvc项目,我们已经做了登录注册页面。但我们没有使用asp.net身份框架。我们正在从我们的数据库中检查用户数据,这是在sql server studio中,并在用户注册时粘贴用户数据。在不使用asp.net标识的情况下获取记录的用户标识

在我们的项目中,这是一种导师配对的游戏,导师给他/她的导师一个项目。当我们创建一个项目时,我们使用数据库中的两个表,一个是Mentee表,另一个是Mentor表。

在mentee表中创建新行很容易,但是当记录的用户创建新任务时,我们需要他/她的id在mentor表中创建一行。因为如果您已登录并创建任务,则您是导师,我们需要从Users表中获取已记录的用户标识。

我希望我能让自己变得非常清楚,我们需要您的帮助。如果您需要我们项目的任何代码,我可以编辑帖子。下面的代码

[HttpPost] 
public ActionResult NewLesson(DersAtamaModel model) 
{ 
    using (DENEME_V2Entities db = new DENEME_V2Entities()) 
    { 
     LESSON lesson = new LESSON(); 
     lesson.LName = model.Project_Name; 
     lesson.Intro = model.Intro; 
     db.LESSONS.Add(lesson); 
     db.SaveChanges(); 
     int Lesson_id = db.LESSONS.Where(x => x.LessonID == lesson.LessonID).FirstOrDefault().LessonID; 
     TaskCreateModel tcmodel = new TaskCreateModel(); 
     tcmodel.Lesson_ID = Lesson_id; 
     MENTEE mentee = new MENTEE(); 
     mentee.LessonID = Lesson_id; 
     mentee.UserID = model.secilenKullanıcıId; 
     mentee.Intro = "Intro"; 
     mentee.Statu = 0; 
     db.MENTEEs.Add(mentee); 
     db.SaveChanges(); 
     //MENTOR mentor = new MENTOR(); 
     string userId = User.Identity.GetUserId(); 
      return RedirectToAction("CreateTasks", "Lesson",tcmodel); 
    } 

} 
+0

您使用登录时是否在会话中存储了UserId? –

+0

你能解释我们如何在会话 –

回答

0

使用存储在会话登录ID,当需要的时候使用日志,然后retrive细节:

[HttpPost] 
public ActionResult Login(UserInfo user) 
{ 
    Session["UserId"] = user.Id; 
} 

[HttpPost] 
public ActionResult NewLesson(DersAtamaModel model) 
{ 
    int userId = Convert.ToInt32(Session["UserId"]); 
} 

我只提供的代码来设置和获取会话。当用户注销时,您应该清除会话使用Session.Abondon()Session["UserId"] = null

+0

中存储用户标识!有效!!!!!! –

相关问题