2013-01-14 18 views
8

मैं अपने एएसपीनेट एमवीसी 4 एप्लिकेशन में सरल सदस्यता का उपयोग कर रहा हूं। मैं उपयोगकर्ता की अंतिम लॉगिन तिथि कैसे प्राप्त कर सकता हूं। मुझे नहीं लगता कि तारीख डिफ़ॉल्ट वेबपृष्ठ स्कीमा तालिका में बनाई गई है? क्या मुझे सरल सदस्यता में LastLogin तिथि के लिए फ़ील्ड बनाने की आवश्यकता है? धन्यवादसरल सदस्यता: उपयोगकर्ता की अंतिम लॉगिन तिथि

उत्तर

10

मैं इस तरह से हल कर लिया है:

  1. मैं UsersContext में UserProfile मॉडल के लिए एक LastLogin क्षेत्र कहा:

    [Table("UserProfile")] 
    public class UserProfile 
    {  
        [Key]  
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
        public int UserId { get; set; } 
        public virtual string UserName { get; set; } 
        public virtual DateTime? LastLogin { get; set; } 
    } 
    
  2. मैं AccountController में लॉग इन विधि संशोधित:

    public ActionResult Login(LoginModel model, string returnUrl) 
    {    
        if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))  
        { 
         using (UsersContext db=new UsersContext())     
         { 
          UserProfile userProfile = db.UserProfiles.SingleOrDefault(u=>u.UserName==model.UserName); 
          userProfile.LastLogin = DateTime.Now; 
          db.Entry(userProfile).State=EntityState.Modified; 
          db.SaveChanges(); 
         } 
    
         return RedirectToLocal(returnUrl); 
        } 
    
        // If we got this far, something failed, redisplay form 
        ModelState.AddModelError("", "The user name or password provided is incorrect."); 
        return View(model); 
    } 
    
  3. फिर मैंने लाया जिस तरह से bellow तरह USERPROFILES:

    @foreach (var item in Model) 
    { 
        <tr> 
         <td> 
          @Html.DisplayFor(modelItem => item.UserName) 
         </td> 
         <td> 
          @Html.DisplayFor(modelItem => item.LastLogin) 
         </td> 
        </tr> 
    } 
    
+0

धन्यवाद बाबुल मिर्धा:

public ActionResult Index() { return View("Index",_db.UserProfiles); } 
  • अंत में, मैं Index.cshtml में LastLogin दिनांक समय का प्रदर्शन किया। मैं वैसे ही हल करूंगा। मैंने सोचा कि एएसपीनेट सदस्यता के समान एकल सदस्यता प्रदाता में कुछ हो सकता है। एएसपीनेट सदस्यता में इसमें आखिरी लॉग इन संपत्ति है और हमें रिकॉर्ड अपडेट देता है जो अंतिम लॉग इन – Gayatri

  • +0

    आपका स्वागत है, गायत्री, हाँ, आखिरी लॉग इन संपत्ति Asp.Net सदस्य सदस्यता है। तो मैं भी एमवीसी 4 में SimpleMembership में LastLogin प्रॉपर्टी की अपेक्षा कर रहा था लेकिन मुझे अब तक यह नहीं मिला ..., इसलिए मैंने इस तरह से हल किया, धन्यवाद। –

    +0

    यह लास्टलॉगिन फ़ील्ड क्यों "आभासी" घोषित किया गया है? –

    संबंधित मुद्दे