Почему я теряю данные, хотя я четко сохранил их в свойстве? - PullRequest
0 голосов
/ 16 марта 2019

Скриншоты ниже для пояснения
Используя бритвенные страницы, у меня есть страница под названием Продукты, на которой отображается продукт; изображение, имя, цена и т. д. Эти данные получены в моем методе get с использованием идентификатора, переданного с предыдущей страницы.

Я инициализирую свойство с именем Product типа Product для объекта, возвращаемого методом для получения продукт. Тем не менее, когда вызывается метод OnPost(), единственный идентификатор продукта в объекте сохраняется (и я знаю, что это потому, что идентификатор передается в качестве параметра и, таким образом, легко доступен), все остальные части данных теряются. Я не могу понять почему, спасибо заранее.

Продукт

public class ProductModel : PageModel
{
    public string Identity { get; set; }
    public Product Product { get; set; }
    private readonly IShopService _shopService;
    private readonly UserManager<IdentityUser> _userManager;

    public ProductModel(UserManager<IdentityUser> userManager, IShopService shopService)
    {
        _userManager = userManager;
        _shopService = shopService;
    }
    private Task<IdentityUser> GetCurrentUserAsync() => _userManager.GetUserAsync(HttpContext.User);
    public void OnGet(int id, string identity)
    {
        Product = _shopService.GetProduct(id);
        Identity = identity;
    }

    public void OnPost()
    {
        _shopService.AddProductToBag(Product, GetCurrentUserAsync().Result);
    }
}

imageOnGet()">

Снимок экрана выше представляет собой Product после выполнения GetProduct(). Он заполняется данными БД. Когда я пытаюсь использовать те же данные для AddProductToBag в OnPost(), каждое поле равно нулю.

...