سلام
در فیلم 58 وقتی کاربر login نکرده در خط userId= claim.value خطای NullRefrence می دهد در صورتی که این شرط مربوط به زمانی است که کاربر login نشده باشد، لطفا راهنمایی بفرمایید.
سلام
If بزارید اگر کاربر لاگین بود چک کنه
در هر صورت 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();
}
}