They exist for the life of the current page.
In ASP.NET, the items stored in ViewState persist for the duration of a single page request-response cycle. Once the page is rendered and sent to the client, the ViewState data is serialized and sent as a hidden field within the page. Upon receiving a postback from the client, ASP.NET deserializes the ViewState data and restores the state of the page controls to their previous values. After the page lifecycle ends, ViewState data is no longer available, and a new instance of ViewState is created for subsequent requests. Therefore, the correct answer to the question “How long the items in ViewState exist?” would be “They exist for the duration of a single page request-response cycle.”