问题标签 [control-state]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
37 浏览

c# - 序列化后如何保持对同一个对象的两个引用

让我们假设一个类 Foo 像

我有一个自定义的 ASP 控件,例如

我有一个 ASPX 页面

该控件用于更改由 PropertyName 指定的属性,假设控件只是在属性中添加了一个 *,这可以正常工作。我使用控制状态在回发之间存储实体。那里出了问题。

我创建了一个对象 Foo。

我将这一个对象绑定到两个控件

两个控件都将实体序列化为它们的控件状态

两个控件都向属性添加 *。(前端)

回发时,两个控件都从它们的控件状态反序列化对象。

我最终得到两个对象:

我打算让两个实例都引用同一个对象。

我完全理解为什么会发生这种情况,但我不知道如何存档。

编辑: 我认为它实际上与 ASP 和控制状态没什么可看的。我认为可以在序列化部分解决。我想我需要做的就是以某种方式让两个控件都使用一个共享的序列化器,并让这个控件明白,如果它已经序列化了具有给定 ID 的对象,则它需要返回相同的对象。

如果这需要类似的接口,那是可以接受的。