2017-07-31 19 views
-1

私たちはmvcプロジェクトに取り組んでおり、既にログイン登録ページを行っています。しかし、私たちはasp.netアイデンティティ・フレームワークを使用しませんでした。私たちは、SQL Serverのスタジオにある私たちのデータベースからユーザーのデータをチェックし、誰かが登録するとユーザーのデータを貼り付けます。asp.net IDを使用せずにログオンしたユーザーIDを取得する

私たちのプロジェクトでは、それはちょっとしたメンター・マティ・マッチであり、メンターは彼/彼女のメンティーにプロジェクトを与えます。プロジェクトを作成する際、データベースから2つのテーブルを使用しています.1つはメンテテーブルで、もう1つはメンターテーブルです。

メンティーテーブルに新しい行を作成するのは簡単ですが、ログに記録されたユーザーが新しいタスクを作成するときには、メンターテーブルに行を作成する必要があります。ログインしてタスクを作成すると、あなたはメンターであり、ユーザーテーブルからログに記録されたユーザーIDを取得する必要があるためです。

私は自分自身を非常に明確にし、私たちはあなたの助けが必要です。私たちのプロジェクトのコードが必要な場合は、投稿を編集できます。私が唯一の設定とセッションを取得するためのコードを提供している

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

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

:必要なときに使用がログインして詳細をretrive時にコード以下

[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

セッションでユーザIDを保存する方法を教えてください。 –

答えて

0

使用すると、セッション中に、ログインIDを格納します。 Session.Abondon()またはSession["UserId"] = nullを使用してセッションをクリアする必要があります。

+0

本当にありがとうございます!出来た!!!!!! –

関連する問題