• 1400/02/01

افزودن عکس و claimsIdentity :

سلام

در فیلم 58  وقتی کاربر login نکرده در خط  userId= claim.value  خطای NullRefrence می دهد  در صورتی که این شرط مربوط به زمانی است که کاربر login نشده باشد، لطفا راهنمایی بفرمایید. 

  • 1400/02/01
  • ساعت 18:43

سلام

If بزارید اگر کاربر لاگین بود چک کنه


  • 1400/02/02
  • ساعت 10:37

 در هر صورت userId  و مقادیر دیگر داخل حلقه if  هیچگاه مقدار نمی گیرد

بنظر می آید اگر کاربر Login نبود باید به صفحه Login هدایت بشه و کد های قسمت if باید حذف شود.

 

 public class IndexModel : PageModel
    {
        private ApplicationDbContext _db;

        public IndexModel(ApplicationDbContext db)
        {
            _db = db;
        }

        [BindProperty]
        public CarAndCustomerViewModel CarAndCustomerViewModel { get; set; }

        public async Task<IActionResult> OnGet(string userId=null)
        {
            if (userId == null)
            {
                var claimsIdentity = (ClaimsIdentity) User.Identity;
                var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);
                userId = claim.Value;
            }

            CarAndCustomerViewModel = new CarAndCustomerViewModel()
            {
                Cars = await _db.Cars.Where(c=>c.UserId==userId).ToListAsync(),
                User = await _db.ApplicationUsers.FirstOrDefaultAsync(u=>u.Id==userId)
            };

            return Page();
        }
    }

logo-samandehi