在 Blazor MAUI 应用程序的页面之间导航时丢失客户详细信息

问题描述 投票:0回答:0

我正在开发一个 Blazor MAUI 应用程序,其中我有一个需要存储公司和客户详细信息的订单对象 (PosOrder)。订单对象由服务类 (PosOrderService) 管理,我遇到了从登录页面导航到主页时客户详细信息丢失的问题。

这是我的实施概述:

public class PosOrder

{ // 其他属性...

public Company Company { get; set; }
public Customer Customer { get; set; }

public PosOrder()
{
    // Initialize other properties...

    Company = new Company();
    Customer = new Customer();
}

}

在登录页面,我检索 PosOrderService 实例并使用 PosOrderService.UpdateOrder 方法更新公司详细信息。这工作正常,我可以在订单对象中看到更新的公司详细信息。

但是,当我导航到主页并再次检索 PosOrderService 实例时,我注意到客户详细信息不再出现在订单对象中。好像在导航过程中丢失了客户详细信息。

public class PosOrderService
{
    private PosOrder _order;

    public PosOrderService()
    {
        // Initialize the order object
        _order = new PosOrder();
    }

    public PosOrder GetOrder()
    {
        return _order;
    }

    public void UpdateOrder(PosOrder updatedOrder)
    {
        _order = updatedOrder;
    }
}

这就是我在登录时的称呼

private PosOrderService _orderService=new PosOrderService(); PosOrder CurrentOrder = _orderService.GetOrder(); CurrentOrder.posCompany = CompanyResponse[0]; _orderService.UpdateOrder(CurrentOrder);

这就是我在主页上的称呼

PosOrder currentOrder = _orderService.GetOrder(); currentOrder.Customer = value; _orderService.UpdateOrder(currentOrder);

我不确定在页面之间导航时可能导致客户详细信息丢失的原因。在 Blazor 中使用共享对象和数据时,我是否遗漏了什么或应该注意的任何常见陷阱?

如有任何关于如何调查和解决此问题的见解或建议,我们将不胜感激。谢谢!

c# .net blazor
© www.soinside.com 2019 - 2024. All rights reserved.