我在Blazor服务器端项目中使用实体框架,我有一个用户可以编辑数据的页面。我在编辑页面上有一个"取消"按钮,它会更新实体框架上下文对象以取消其中挂起的更改,然后重定向到另一个页面。当用户点击"取消"时,您可以在重定向发生之前看到页面上的值更改回其原始值。因此,这里发生了不必要的客户端更新,这导致了额外的网络流量。有没有办法告诉Blazor不要经历状态更改过程,这样我就可以防止这种情况发生?
如果你能展示一些代码并制作一个最小、可复制的示例,那就太好了,但既然你没有,我会给你一个理论答案。
您可以做的是在用户客户端上有一个用于保存值的"dummy"类,并有一个将由服务器端操作的类,这样您就可以在客户端的数据应该更改或不应该更改时进行操作。
当用户编辑数据时,它会编辑伪类,然后将值映射到正确的类,但当用户单击"取消"时,就不存在了。