我们正在开发一个mvc项目,我们已经登录了注册页面。但是我们没有使用asp.net身份框架。我们正在从sql server studio中的数据库中检查用户数据,并在有人注册时粘贴用户数据。
在我们的项目中,它是一种善意的指导者比赛和导师向他/她的受指导者提供项目。当我们创建一个项目时,我们使用数据库中的两个表,一个是Mentee表,另一个是Mentor表。
在mentee表中创建新行很容易,但是当记录的用户创建新任务时,我们需要他/她的id在指导者表中创建一行。因为如果您已登录并创建任务,那么您就是导师,我们需要从Users表中获取已记录的用户ID。
我希望自己非常清楚,我们需要你的帮助。如果您需要我们项目中的任何代码,我可以编辑帖子。
[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 :(得分:0)
使用以下代码在使用登录时在Session中存储登录ID,然后在需要时检索详细信息:
[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