WebExpress 2.0.0‑alpha – View, State and Service, Part II: From Pro‑Control State to ViewStated Contexts
An update to the earlier post about the View, State, and Service architecture. When the View, State, and Service architecture was introduced, it replaced scattered state, direct DOM manipulation, and implicit service calls with a clear unidirectional data flow. Each control gained an explicit state object, a typed service descriptor, and a predictable path from initialization through user interaction to re‑rendering. The model worked well and was written entirely in C#. The previous post showed how a list evolved from a handful of scattered properties into a single, well‑structured definition. As the architecture rolled out across control families, a deeper boundary became visible. The state was clean but still belonged per control. Each control seeded its own state island, resolved its own service, and loaded itself on mount. Two controls on the same screen showing the same data fetched it independently. There was no natural way for one control to trigger a re‑render in another when ...