2017-07-07 93 views
-2

這是登錄, 這是用戶登錄控制器代碼,我驗證用戶的電子郵件ID和密碼,當用戶登錄重定向到首頁的控制器代碼控制器在這裏我想顯示用戶信息我做一個登錄頁面,我想顯示用戶信息名址等,當我登錄成功

[HttpPost] 
[ValidateAntiForgeryToken] 

public ActionResult Login(UserLogin login, string ReturnUrl = ""){ 
     string message = ""; 
     using (LoginEntities dc = new LoginEntities()){ 
       var v = dc.Users.Where(a => a.EmailID == login.EmailID).FirstOrDefault(); 
       var n = dc.Users.Where(a => a.Password == login.Password).FirstOrDefault(); 
       if (v != null || n != null){ 
        if (string.Compare(Crypto.Hash(login.Password), v.Password) == 0){ 
         int timeout = login.RememberME ? 525600 : 20; 
         var ticket = new FormsAuthenticationTicket(login.EmailID,login.RememberME,timeout); 
         string encrypted = FormsAuthentication.Encrypt(ticket); 
         var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted); 
         cookie.Expires = DateTime.Now.AddMinutes(timeout); 
         cookie.HttpOnly = true; 
         Response.Cookies.Add(cookie); 

         if (Url.IsLocalUrl(ReturnUrl)){ 
          return Redirect(ReturnUrl); 
         } 
         else{ 
          return RedirectToAction("Index", "Home"); 
         } 
        } 
        else{ 
         message = "Invalid Credential Provided"; 
        } 
       } 
       else { 
        message = "Invalid Credential Provided"; 
       } 
      } 
      ViewBag.Message = message; 
      return View(); 
      } 

家庭控制器和索引操作,我重定向當我登錄, 這是家庭控制器哪裏重定向成功登錄後,請了一些人給家居控制器和索引操作代碼在哪裏我可以獲取用戶的ID登錄和,並告訴我如何顯示在視圖

public class HomeController : Controller{ 
     LoginEntities db = new LoginEntities(); 
     // GET: Home 
     [Authorize] 
     public ActionResult Index(){ 
      if (Session.Contents.Count == 0){ 
       RedirectToAction("Login", "User"); 
      } 

      return View(); 
     } 
    } 

回答

0

更新我下面的代碼,這可能會或可能不會怎麼把這裏的編碼工作,手動不實際VS:P

// /Controller/TestController.cs

namespace XXXX.Controllers 
{ 
    public class TestController : Controller 
    { 
     public ActionResult User() 
     { 
      String UserId = User.Identity.GetUserId().ToString(); 
      ApplicationDbContext db = new ApplicationDbContext(); 

      var rs = db.Users.Find(UserId); 
      var model = new UserViewModel 
      { 
       UserName = rs.UserName, 
       FirstName = rs.FirstName, 
       LastName = rs.LastName, 
       Email = rs.Email 
      }; 
      db.Dispose(); 
      return View(model); 
     } 
    } 
} 

// /型號/UserViewModel.cs

namespace XXXX.Models 
{ 
    public class UserViewModel 
    { 
    public string Id { get; set; } 
    public string UserName { get; set; } 
    public string Email { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    } 
} 

// /Views/Test/User.cshtml

上述

僅僅是一個樣品,你可以使用信息進一步

+0

當我登錄按鈕單擊登錄可以看到他的名字姓氏日期等是在用戶模型persent用戶費爾南Vacina我只需要.. 。我必須編寫代碼以及如何傳遞它以查看 – Shahab

+0

Hi @Shahab添加了上面的示例,希望有所幫助(請注意,如果它實際上可行,但沒有經過測試,但邏輯應該在代碼中應該如何調用) –

相關問題