我在Blazor服务器端项目中使用Entity Framework,并且有一个页面,用户可以在其中编辑数据。我在编辑页面上有一个“取消”按钮,该按钮可以更新Entity Framework上下文对象以取消其中的未决更改,然后重定向到另一个页面。当用户单击“取消”时,您可以在重定向发生之前在页面上看到值更改回其原始值。因此,这里没有发生不必要的客户端更新,这会导致额外的网络流量。有没有办法告诉Blazor不要通过状态更改过程,以便我可以防止这种情况发生?
答案 0 :(得分:0)
如果您可以显示一些代码并编写一个Minimal, Reproducible Example,那就太好了,但是由于您没有,我会给您一个理论上的答案。
您可以做的是拥有一个用于在用户客户端上保存值的“虚拟”类,并具有一个将由服务器端操纵的类,以便您可以操纵客户端数据何时应更改或不更改。
当用户编辑数据时,它将编辑虚拟类,然后将值映射到正确的类,但是当用户单击“取消”时,该类将不存在。